Vanilla WoW Wiki
Classese Druid Hunter Mage Paladin Priest Rogue Shaman Warlock Warrior
Class races Dr Hu Ma Pa Pr Ro Sh Wl Wr
Quests Dr Hu Ma Pa Pr Ro Sh Wl Wr
Abilities Dr Hu Ma Pa Pr Ro Sh Wl Wr
Trainers Dr Hu Ma Pa Pr Ro Sh Wl Wr
Talents Dr Hu Ma Pa Pr Ro Sh Wl Wr
Talent builds Dr Hu Ma Pa Pr Ro Sh Wl Wr
Tactics Dr Hu Ma Pa Pr Ro Sh Wl Wr
Armor sets Dr Hu Ma Pa Pr Ro Sh Wl Wr
Starting a Dr Hu Ma Pa Pr Ro Sh Wl Wr
PvE Dr Hu Ma Pa Pr Ro Sh Wl Wr
PvP Dr Hu Ma Pa Pr Ro Sh Wl Wr
Useful macros Dr Hu Ma Pa Pr Ro Sh Wl Wr

Macro commands

General guides

Macros Beginners Guide
Frequently Asked Questions
Making a macro
UI Customization

Useful macros (by class)

Useful macros for death knights Useful macros for druids Useful macros for hunters Useful macros for mages Useful macros for mages Useful macros for paladins
Useful macros for priests Useful macros for rogues Useful macros for shamans Useful macros for warlocks Useful macros for warriors


New macro format request

NOTE: There were substantial changes to macros in Cataclysm Cataclsym (Patch 4.0.1 and later). Many spells were renamed and much of the scripted command functionality has been modified. In an effort to keep WoWWiki posts relevant please re-validate and re-post macros that work in the current version.

Re-creating old macros

When re-creating a macro in Useful macros please:

  • follow the example format posted below (to get the frame around your macro, add a space before you start it)
  • describe what it does
  • note the version of WoW that you tested it in
  • remove it from the Old macros page

Example macro

/y Hooray, I made a macro!
  • Use: This yells, "Hooray, I made a macro!"
  • Works in 4.0.6

Patch 3.1 Discipline macros

Divine Hymn

Maximizes healing effect of Divine Hymn by combining a self Power Infusion (for faster channeling) and Inner Focus for free cast

#showtooltip Divine Hymn
/cast [target=player] Power Infusion
/cast Inner Focus
/cast Divine Hymn
  • Works in: 3.3.5

Pain Suppression

casts pain suppression on your mouseover and alerts raid with a link and the length of effect

/script local u,ps,c="mouseover","Pain Suppression",GetNumRaidMembers()>0 and "Raid";if IsSpellInRange(ps,u)==1 and GetSpellCooldown(ps)==0 then SendChatMessage(GetSpellLink(ps).." for 8 seconds on "..UnitName(u),c) end
/cast [@mouseover] Pain Suppression

Pain Suppression

Casts Pain Suppression with the following parameters:

/cast [mod:alt, target=player][mod:ctrl, target=target][target=focus, exists, nodead, noharm][target=target] Pain Suppression
  • Credit: Xaeros of Shadowmoon
  • Works in 3.3.3a

Pain Suppression

This is another macro like the last that is more for PVE healing because it only casts the spell on the focus target, but it also checks whether you're in a raid or party, then announces it accordingly. you can also always replace the two words "focus" with "mouseover" in order to have it cast on your mouseover. when changing it to a mouseover macro you also need to remove the first showtooltip line, in order for it to fit into 255 characters

/script local u,ps,c="Focus","Pain Suppression",GetNumRaidMembers()>0 and "RAID" or "PARTY";if IsSpellInRange(ps,u)==1 and GetSpellCooldown(ps)==0 then SendChatMessage(ps.." on "..UnitName(u),c) end
/cast [target=Focus] Pain Suppression

Power Infusion

This power infusion macro does an error check in order to see if you can cast power infusion or not. this keeps you from sending erronious power infusion messages. As with before you can cast this as a mouseover script and replace "YOURCASTERNAMEHERE" with "Mouseover". This will work with targets on other realms using the GetUnitName and string sub commands

/script local u,pi="YOURCASTERNAMEHERE","Power Infusion";if IsSpellInRange(pi,u)==1 and GetSpellCooldown(pi)==0 then SendChatMessage("You just got "..GetSpellLink(pi).."!","WHISPER",nil,gsub(GetUnitName(u, true), " ", "")) end
/cast [@YOURCASTERNAMEHERE] Power Infusion

Disc priest main heal

Casts Penance, or Flash Heal or Smite based on what is available and what you are targeting:

#showtooltip Penance
/stopmacro [channeling]
/console Sound_EnableSFX 0
/use 13
/use 14
/castsequence [harm] , Smite; , Flash Heal
/cast Penance
/console Sound_EnableSFX 1
/script UIErrorsFrame:Clear()
  • Focus: Universal
  • Suggested key bind: Mouse Up
  • Validated: 3.1

Disc priest main prevention

Places a shield on friendly targets, DoTs on enemies to lead off combat. When you are in a group, it wands.

/dismount [mounted]
/castsequence [group, harm] !Shoot; [harm] reset=5/target Shadow Word: Pain, Devouring Plague, Power Word: Shield; reset=target/2 Power Word: Shield, Renew
  • Focus: Universal
  • Suggested key bind: Mouse Down
  • Validated: 3.1

Disc priest One-Two Punch

Perfect for Leveling with one button, Can be Clipped for a endless rotation. Starts with Holy Fire, Follows up with Penance, Devouring Plage, and Finishes with Smite. It will kill and Heal you at the same time. I call this the One-Two Punch.

 #showtooltip Holy Fire
/targetenemy [combat, noexists]
/console Sound_EnableSFX 0
/castsequence reset=11 Holy Fire, Penance, Devouring Plague, smite
/console Sound_EnableSFX 1
/run UIErrorsFrame:Clear()
/stopmacro [target=pettarget,exists]
  • Focus: Universal
  • Suggested key bind: Button 1
  • Validated: 3.1

Disc priest PvP healing

Heals the target of your target (that is, clicking an enemy will heal the enemy's target) using Penance, followed by Power Word: Shield, and Flash Heal. If you have 4/5 of the healing Gladiator set, change the reset to 13 (seconds). This macro resets itself just before your Power Word: Shield comes off cooldown.

#Show Penance
/castsequence [target=targettarget] reset=15 Penance, Power Word: Shield, Flash Heal, Flash Heal, Flash Heal, Flash Heal, Flash Heal, Flash Heal
  • Focus : PvP or PvE healing
  • Validated 3.1
  • Credit: Lyrà of Frostmane (US) (contact directly for any ideas for macros or macro requests, to

Patch 3.1 Holy macros

Guardian Spirit

Casts Guardian Spirit with the following parameters:

/cast [mod:alt, target=player][mod:ctrl, target=target][target=focus, exists, nodead, noharm][target=target] Guardian Spirit
  • Credit: Xaeros of Shadowmoon
  • Works in 3.3.3a

Patch 4.0.6 Holy Macros

Chakra Serenity

casts Chakra, Renew, and Heal on set focus. usefull for refreshing Chakra after 30 second cooldown without multiple clicks

#showtooltip Chakra
/cast Chakra
/castsequence [target=focus] Renew, Heal

Chakra Sanctuary

casts Chakra and Prayer of Mending on target, additional clicks for Renew, Circle of Healing, Prayer of Healing, and Holy Word: Sanctuary

#showtooltip Chakra
/cast Chakra
/castsequence reset=10  [target=focus, exists, nodead] Prayer of Mending, Renew, Circle of Healing, Prayer of Healing, Holy Word: Sanctuary

  • tested in Patch 4.0.6
  • Credit: Exila

Patch 3.1 Shadow macros

Shadow priest all-in-one (Mouse Up)

Casts Mind Blast, Shadow Word: Death, Mind Flay, or Devouring Plague:

#showtooltip Mind Blast
/stopmacro [channeling]
/use 13
/use 14
/castsequence reset=11 , Mind Blast, Shadow Word: Death, Mind Flay, Mind Blast, Mind Flay, Mind Flay
/cast Devouring Plague
/script UIErrorsFrame:Clear()
  • Focus: PVE
  • Suggested key bind: Mouse Up
  • Validated: 3.1

Clip-prevention Mind Flay

Prevents clipping off the previous Mind Flay before its full cast:

/stopmacro [channeling]
/cast Mind Flay
  • Focus: both
  • This macro is spammable; the stopmacro command sets the condition that you will not be able to cast Mind Flay until you are no longer casting a channeling spell
  • Validated: 3.1

And alternate method combines the two commands:

/cast [nochanneling] Mind Flay

One-button Mind Flay-Mind Sear

Casts Mind Flay unless you press the shift key, in which cases casts Mind Sear (with Inner Focus):

#showtooltip Mind Flay
/cast [harm,exists, mod:shift] Inner Focus
/cast [nomod:shift] Mind Flay; [mod:shift] Mind Sear
  • Focus: both
  • Validated: 3.1.1

A General Shadow priest PvP Macro

Enable's a quick and easy way to setup a button to auto enter Shadowform if you are not in it before casting, and with the addition of shift or alt modifier, allows you to heal yourself or your target! (Only heals target if target is friendly!)

/cast [nomod:shift/alt, nostance] !Shadowform
/cast [mod:shift, noharm] Greater Heal; [mod:alt, target=player] Greater Heal; Shadow Word: Pain
  • Note: You can modify the heal to any heal you want, and note if target is hostile, and shift is clicked, you will cast the main spell!
  • Focus: PvP
  • Validated: 4.0.6
  • Author: Seyhin @Tarren Mill EU

Shadow priest boss opener

Casts a series of spells that applies full Shadow Weaving in time for the SW:P and have full DoTs up before priority rotation comes into play:

#showtooltip Shadow Word: Pain
/castsequence reset=10 Vampiric Touch, Devouring Plague, Mind Blast, Shadow Word: Death, Vampiric Embrace, 
Shadow Word: Pain, Mind Blast, Mind Flay, Vampiric Touch, Mind Blast, Mind Flay

Shadow Priest All-in-One Panic Button

Casts the following in succession when you are taking moderate to heavy incoming damage where the healer is otherwise occupied or you are on the move. Power Word: Shield, Renew, Prayer of Mending, then recasts Shadowform. Trick to this macro is that you have to have it twice on your action bar, ideally in the same button slot as your action bar will change as soon as you pop out of Shadowform upon casting Renew.

/castsequence reset=15 Power Word: Shield, Renew, Prayer of Mending, Shadowform
  • Focus: PvE or PvP
  • Validated: 4.3.2
  • Poster: Drizzella @ Draenor-US
  • Macro Source: Chronicles @ Draenor-US (possibly not the author but he's the one that gave me the macro)

Patch 3.1 macros for all builds


Summons a Shadowfiend if one isn't out. Otherwise causes your pet to attack your target and Shadowcrawl it:

#showtooltip Shadowfiend
/cast [nopet] Shadowfiend
/cast Shadowcrawl
  • Focus: PvE
  • Validated: 3.1.1

Smart Shadowfiend/Shadowcrawl

Similar to the previous macro, but adds the ability for healing priests to send out a Shadowfiend without switching off of their heal targets:

#showtooltip Shadowfiend
/cast [nopet,harm][nopet,target=targettarget,harm]Shadowfiend
/petattack [harm][target=targettarget,harm]
/cast [harm][target=targettarget,harm]Shadowcrawl
  • Sends Shadowfiend to attack your current target if they are not friendly; if your target is friendly, attacks the target's target (that is, if you are healing the tank, this macro sends the Shadowfiend onto the mob your tank is targetting).
  • Credit Xaeros of Shadowmoon
  • Works in 3.3.3a

Shield Shadowfiend

#showtooltip Shadowfiend
/castsequence [target=pet,exists,nodead] Power Word: Shield; [harm,nodead][target=targettarget,harm,nodead]Shadowfiend
  • Use: This macro will force the pet to auto attack either your target or the target of whoever you are healing. Also by clicking the macro a second time it will shield your Shadowfiend (thus reducing the chance your pet will die). Overall you will recover more mana.
  • Focus : Raid healing
  • Validated 3.3

Kevin Bacon Shadowfiend

/cast [harm,nodead][@targettarget,harm,nodead][@targettargettarget,harm,nodead][@targettargettargettarget,harm,nodead][@targettargettargettargettarget,harm,nodead][@targettargettargettargettargettarget,harm,nodead]Shadowfiend
  • Use: This sends the Shadowfiend after the first hostile target down the chain of target of target of ... target six levels deep.
  • Focus : Raid healing
  • Validated 3.1

Focused mind control

Casts Mind Control in these situations:

  • No Focus, dead focus, or friendly focus – focuses your current target and casts Mind Control
  • Focus that is alive and is unfriendly – casts Mind Control
  • The modifier forces your focus to switch to the current target and casts Mind Control
/focus [target=focus,noexists][target=focus,dead][target=focus,noharm][mod]
/cast [target=focus] Mind Control
  • Credit: Xaeros of Shadowmoon
  • Works in 3.3.3a

Clip-prevention Mind Sear

Prevents clipping off the previous Mind Sear before its full cast:

#showtooltip Mind Sear
/stopmacro [channeling]
/cast Mind Sear
  • This macro is spammable; the stopmacro command sets the condition that you will not be able to cast Mind Sear until you are no longer casting a channeling spell
  • Focus: PVE
  • Validated: 3.1

Space-saving Smite/Heal

Saves space by having the same button cast Smite on enemies, and Flash Heal on friendly targets:

/cast [harm] Smite; Flash Heal
  • Mix and match heal and harm spells based on your key binding preferences
  • Focus: Universal
  • Validated: 3.1

This macro can be duplicated for other damage and healing spells in the priest's arsenal.

A more complicated macro can introduce a sequence of DPS spells:

/use 13
/use 14
/castsequence [harm] reset=6 Holy Fire, Smite, Smite, Smite; Flash Heal
  • Focus: Universal
  • Validated: 3.1

All-in-one Healing Macro

/cast [modifier:shift, nomodifier:alt] Greater Heal
/cast [modifier:alt, nomodifier:shift] Binding Heal
/cast [modifier:alt, modifier:shift] Prayer of Mending
/cast [nomodifier:alt, nomodifier:shift] Flash Heal
  • This is a handy way of reducing clutter on your action bar.
  • By default this will cast Flash Heal on your current target.
  • If you press shift and alt while activating this macro you'll cast prayer of mending
  • If you hold alt while casting this macro you'll cast a binding heal (I like it because this is very similar to the traditional "hold alt to heal yourself" concept)
  • And if you hold just shift you'll cast a Greater Heal
  • Focus: Healing
  • Tested: 3.3 Compatible
  • Updated by Daystar of Emerald Dream 12/10/2009

Power Word: Shield or Renew

#showtooltip [modifier:shift] Renew; Power Word: Shield
/cast [modifier:shift] Renew; Power Word: Shield
  • Inspired by my Rogue Finisher Macro and my friend who has a hard time finding her healing spells and knowing what ones to use.
  • A simple way to chose rather you cast your classic Priest bubble or cast Renew without fussing with finding the spells in your action bar(s).
  • Default spell is Power Word: Shield, with the modifier as shift holding shift down allows you to cast Renew.
  • Confirmed does work as intended.

Sqeeks (talk) 04:46, September 30, 2009 (UTC)

Guardian Spirit on focus

This macro casts Guardian Spirit on your focus. Recommended for use when putting setting the tank as your focus. The optional final line is designed to put a shield on a target that you may have been halfway through a Greater Heal on before casting Guardian Spirit on the focus. This buys your previous target a little more time while you recast the heal.

#show Guardian Spirit
/cast [target=focus] Guardian Spirit
/cast [target=focus] Power Word: Shield

One-Click Dispel

This macro consolidates your dispels into one single button:

/target [modifier:alt] Player
/cast [nomodifier] Dispel Magic
/cast [modifier:alt] Dispel Magic
/cast [modifier:shift] Mass Dispel
/target focus
  • If you click, it will simply cast Dispel Magic on your current target (friendly or enemy)
  • If you ALT + click, it will cast Dispel Magic on yourself without losing your current target
  • If you SHIFT + click, it will cast Mass Dispel without losing your current target

PoM Auto-Jump

When healing in a dungeon / raid, you are usually focused on a friendly unit. If Prayer of Mending jumps on you meanwhile, you can make it jump to another friendly unit by casting Shadow Word: Death on an enemy unit because you would be taking damage.

This macro will automatize this process. Whenever you see Prayer of Mending on yourself, you can cast this simple macro. It will target the enemy unit your friend is targeting, cast Shadow Word: Death (make damage to yourself and make Prayer of Mending jump) and target your friend again. All in one single click!

/cast Shadow Word: Death

Smart Self-Buff

This allows you to cast all of the priest's buffs on yourself, without having to change targets. It is currently set to a 10 second reset, which can be changed to suit your preference. This is written assuming that your primary spec is Holy and your secondary spec is Shadow. You may change this by swapping the numbers in "[spec:1,@player]" if Shadow is your primary spec. I choose Inner Will for Holy, but if you're Disc you may want to change it to Inner Fire...whichever suits you best. The Inner buffs are last in the sequence, as they now last until cancelled, and VE is first for Shadow since it has the shortest duration and will likely be the first one you will have to re-cast.

/castsequence [spec:1,@player] reset=10 Power Word: Fortitude, Shadow Protection, Inner Will
/castsequence [spec:2,@player] reset=10 Vampiric Embrace, Power Word: Fortitude, Shadow Protection, Inner Fire
  • Made this to save space on my action bars
  • Validated 05.12.11 in 4.1
  • Updated by Drstevebrule (Cenarius)

Unvalidated older macros

The following older macros have not been validated to work after the introduction of patch 3.1. Use at your own risk.

Damage dealing macro for low levels

This macro unifies spells for doing damage:

/cast [mod:alt, target=player] Power Word: Shield
/cast [nomod:alt, nocombat] Smite
/castsequence [nomod:alt, combat] reset=combat/target Shadow Word: Pain, Mind Blast, Smite, Smite

What the macro does:

  • Line 1 casts Power Word: Shield whenever the alt key is pressed
  • Line 2 starts an attack. Target some enemy, then press the button and it will cast Smite
  • Line 3 is the combat cast sequence (for levels below 10, remember to remove Mind Blast from the macro).

Assign this macro to some key, then assign another key for Lesser Heal (or Renew) and another for Shoot (or Attack, if you don't have a wand) so that you only need 3 command keys.

Suggested use of macro:

  • Can cast Power Word: Shield either before the attack, in the middle or not at all.
  • The second line only works if attacking the target first, in which case casts Smite. If the enemy attacks first, then the third line enters into action, avoiding the slow Smite cast.
  • After the sequence casts Mind Blast, choose between using zero, one or two Smites before switching to melee attack, at which point either finish the cycle and repeat or kill the enemy with a final Smite.

If you are fast enough and far enough away from the enemy target, you can cast two Smites before you enter combat.

This macro is good for playing with levels below 20.

Resurrection notifier

Sends a tell to the player you have your mouse over. This is great for seeing if the ressie is online; you will still need to click the ressie to give them the res :)

/script SendChatMessage("Incoming ressurrection", "WHISPER", nil, UnitName("mouseover"));
/say I am ressurrecting %t
/cast Resurrection

The contents of the whisper can be changed as long as you wrap the phrase in double quotes, as shown in the macro. The /say line is optional.

Better Resurrection Notifier

This macro checks if your in range of the target and if your in a group before you are announcing that you are resurrecting people when you actually arent. this macro is best suited for Clique, by binding a mouse combination with a special macro. if you are putting this macro on your actionbars, then its best if you add #showtooltip as the first line

/script local u,rez,c="Mouseover","Resurrection",GetNumRaidMembers()>0 and "RAID" or "PARTY";if IsSpellInRange(rez,u)==1 then SendChatMessage(rez.." on "..UnitName(u),c) end
/cast [target=Mouseover] Resurrection


This one command is a requirement in all Greater Heal usage for Raid healers. It is not proper to jump or move to interrupt casting (this can mean wipes on certain fights). The Priest should always have a heal casting and cancel it by using a heal with the /stopcasting command. Since downranking is no longer supported, Consider having macros made for Greater Heal and Renew. You may also want to try Power Word: Shield and Dispel Magic for emergencies, but these are instant casts, one with cooldown one with dual functionality, so use caution before heading out to a raid or PVP battle with them.

/cast [target=mouseover,exists] Greater Heal
/cast [target=mouseover,exists] Renew

Or one that casts Greater Heal on your target if it is friendly and on your mouseover if not

/cast [help] Greater Heal; /cast [harm] [target=mouseover,exists] Greater Heal

Smart Greater Heal

This macro casts Greater Heal on your target if your target is friendly; if your target is an enemy, casts Greater Heal on your target's target.

/cast [help][target=targettarget][] Greater Heal

The following adds a modifier that allows you to heal yourself when holding down the alt key. These also work with any other heal.

#showtooltip Greater Heal
/cast [help, nomodifier:alt][nomodifier:alt, target=targettarget][modifier:alt, target=player][] Greater Heal

Resurrection Announcer

Does not execute if you're in combat or in Shadowform. Selects resurrection for casting on next click if your target is not friendly or not dead.

/stopmacro [stance:1][combat]
/cast Resurrection
/stopmacro [nohelp][nodead]
/ra Resurrecting %t.

Shield Self without losing healing target

On one button press you can use Power Word: Shield on yourself without losing your current healing target.

/cast [target=player]Power Word: Shield

Mouseover Heal

Allows you to mouseover a party member and heal them. Also works nicely for Power Word: Fortitude:

/cast [target=mouseover,exists][] Flash Heal

The following macro cast Renew or heal on a single target, in the following order:

  1. If target is friendly
  2. If the mouse is over a friendly target
  3. If the target is hostile, then on the target's target
  4. If no target, then player
/castsequence [help] [target=mouseover,help,exists] [target=targettarget, help, exists] [target=player] reset=target/5 Renew, Heal

The following also self casts if the player holds alt, no matter what is moused over or targeted:

/cast [nomodifier:alt,target=mouseover,nodead,help][nomodifier:alt,help,nodead][nomodifier:alt,target=targettarget,nodead,help][nomodifier:alt,target=player][modifier:alt,target=player]Greater Heal

Its order is Mouseover -> target -> target's target -> self, holding down alt will skip to self.

One Button Renew or SW:Pain

This macro casts either Renew (friendly) or Shadow Word: Pain (hostile) on whoever is hovering under your mouse that exists and is not dead. If you're not hovering, it does either Renew (friendly) or Shadow Word: Pain (hostile) on your selected target that is not dead. If all of the above are false, you will Renew yourself.

/cast [target=mouseover,exists,help,nodead] Renew; [target=mouseover,exists,harm,nodead] Shadow Word: Pain; [help,nodead] Renew; 
[harm,nodead] Shadow Word: Pain; [target=player] Renew

A different version of the above macro (make self-cast available with alt, removes some redundancies):

/cast [target=player,modifier:alt] [target=mouseover,help,nodead] Renew; [target=mouseover,harm,nodead] Shadow Word: Pain;
[help,nodead] Renew; [harm,nodead] Shadow Word: Pain; [target=focus,exists] [target=player] Renew

What it does (if condition isn't met, move on to the next):

  1. If holding ALT, cast Renew on yourself.
  2. If mousing over an ally, cast Renew on them.
  3. If mousing over an enemy, cast Shadow Word Pain on them.
  4. If targeting an ally, cast Renew on them.
  5. If targeting an enemy, cast Shadow Word Pain on them.
  6. If you have a focus, cast Renew on them.
  7. If all else fails, cast Renew on yourself.

This could also be easily applied to any other spell combination (Holy Fire/Heal, Smite/Flash Heal, for example).

Rebuff yourself

This macro rebuffs the player. Multiple clicks are required.

 /cast [nostance] Shadowform
 /castsequence [target=player,stance:1] Inner Fire, Power Word: Fortitude, Shadow Protection, (Racial Priest Spell)

This macro will do the following:

If target is hostile
cast a spell then start using your wand (requires two keypresses)
If target is friendly
cast buff
if no target
cast buffs on player (requires key press for each buff)
/castsequence [harm]  reset=target/18 Shadow Word: Pain, Shoot
/stopmacro [harm]
/cast [help] [target=targettarget, help, exists] Power Word: Fortitude
/castsequence [target=player] reset=5 Inner Fire, Power Word: Fortitude

This macro is a bit more precise than the above one and allows for castsequence to friendly targets.

  1. If the target is friendly: then buff target
  2. If the target is hostile: Then damage
  3. If no target: Then buff self
/castsequence [help] reset=target/5 Power Word: Fortitude, Shadow Protection
/castsequence [harm] reset=target/18 Shadow Word: Pain, Shoot
/castsequence [target=player] reset=15 Inner Fire, Shadow Protection, Power Word: Fortitude

The following is an easy self-buff:

/castsequence [target=player]  reset=20/ Inner Fire, Power Word: Fortitude, Shadow Protection

Shackle Undead and focus on target

This macro will first shackle your current target and set that target to be your focus target. This will allow you to reshackle a mob without having to retarget it.

#showtooltip Shackle Undead
/clearfocus [modifier:alt][target=focus,dead][target=focus,help][target=focus,noexists]
/focus [target=focus,noexists]
/cast [target=focus]Shackle Undead

If you want to announce your shackle add a line like this to the end of the macro

/raid Shackling %f

Ultimate Mind Control Macro

This macro will first Mind Control your current target and set that target to be your focus target. This will allow you to Mind Control again with another click without having to change targets. When you are ready to release, right click will release your Mind Control, cast Fade, re-target the Mind Controlled enemy, clear focus, and announce that you have released your mind control.

#showtooltip Mind Control
/focus [target=focus,noexists]
/cast [nobtn:2,target=focus]Mind Control
/stopmacro [nobtn:2]
/script PetDismiss()
/cast Fade
/target focus
/stopmacro [nogroup]
/s Mind Control Released!

Instructor Razuvious Mind Control

This macro will help you on the Naxxramas 25 fight versus Instructor Razuvious. It allows you to Mind Control your designated Understudy (focus target) and target the Instructor right after, so you can use taunt right away if necessary. If you set up a focus macro as well, you can switch to another Understudy quickly if yours dies.

/cast [target=focus] Mind Control
/tar Instructor

Use trinket, cast Inner Focus, and cast Devouring Plague

Obviously useful only for priests with Inner Focus talent. You have to change trinket's name to the one you own and want to use (trinket has to be equipped). This macro will also prevent wasting trinket's and Inner Focus's cooldowns if your target is accidentally friendly or simply cannot be attacked.

 #showtooltip Devouring Plague
 /use [harm] Xi'ri's Gift
 /cast [harm] Inner Focus
 /cast Devouring Plague

For Healing with Trinket

 #showtooltip Heal trinket
 /use 13
 /use 14
 /cast Inner Focus
 /cast Greater Heal

Cast Silence if available, otherwise cast Arcane Torrent

This macro will cast the Silence spell. If Silence is on cooldown, it will cast Arcane Torrent. Obviously, this macro is only of use to Blood Elves.

 /castsequence reset=45 Silence, Arcane Torrent

Spammable Mind Flay

This macro will allow you to spam Mind Flay without interrupting the one already channeling.

#showtooltip Mind Flay
/cast [nochanneling:Mind Flay] Mind Flay

Change stance and cast depending on target reaction

This macro will look at your stance and your current target. If the target is hostile and you are in Shadowform Mind Blast will be cast, if you are not in Shadowform it will put you into it. Will do the same for Flash Heal if the target is friendly and change your stance accordingly.

 /cast [stance:1,harm] Mind Blast; [stance:1,help] Shadowform; [nostance,help] Flash Heal; [nostance,harm] Shadowform

This macro is the same as above but will start a grind sequence to kill the mobs with nice mana efficiency. The targeting of a friendly target will cast Flash Heal then Renew.

 /use 14
 /use 13
 /castsequence [stance:1,harm] reset=target/combat Vampiric Touch, Shadow Word: Pain, Vampiric Embrace, Mind Flay, Mind Blast, Shoot; [stance:1,help] Shadowform; [nostance,help] Flash Heal, Renew; [nostance,harm] Shadowform

The Polite Reply

Make those whispers less hassle with a polite reply when needed.

/r I'm not a healbot. Good luck!

Mouseover Flash Heal on friendly, Mind Blast on enemy

Cast Flash Heal if mouseover a friendly target, Mind Blast if over an enemy. If mouse is over nothing, it will cast on the current target. The only drawback is you will need to have a set of self cast macros.

/cast [target=mouseover,noharm,exists] Flash Heal;[target=mouseover,harm,exists] Mind Blast;[noharm]Flash Heal;[harm]Mind Blast

Will of the Forsaken and Fear Ward

This will cast Will of the Forsaken and then Fear Ward without losing your target. Mostly a PvP macro. It requires 2 button presses.

#showtooltip Will of the Forsaken
/castsequence reset=5 [target=player]Will of the Forsaken,Fear Ward

Dispel Magic

This will dispel magic on your target, should one exist. If not, then it will work like a normal Dispel Magic. Right-Clicking will cast it on you.

/cast [btn:1,exists,nodead][btn:1][btn:2,target=player] Dispel Magic

Stingy Raid Priest

Alt-clicking this will toggle to the next nearby friendly player. Then each click will cast a separate buff. This is particularly useful in battlegrounds.

/targetfriend [modifier:alt]
/castsequence [nomodifier] reset=target/5 Power Word: Fortitude, Divine Spirit, Shadow Protection

Shield target or self

Shields target if it is in your party/raid, otherwise shields you.

/cast [group,help][target=player] Power Word: Shield

Wand On

This is a wand macro that helps prevent you from accidentally switching off your wand's shoot.

/cast !shoot

Normally using your wand toggles 'shoot' on and off. This macro keeps it switched on. So if you accidentally press it twice, it'll still keep shooting. It works most of the time (unless you really mash the key).

The ! exclamation is the key to this. It stops the toggle. If you want to stop shooting, jump, move, re-target or kill the mob.

Devouring Plague and SW:Pain

Two presses the first does SW:Pain the second does Devouring Plague (which has a 24 sec cooldown). To reset, click another mob, click away, or ctrl click. Resets when you leave combat too.

 /castsequence reset=24/target/combat/ctrl Shadow Word: Pain, Devouring Plague

Super PoM

This macro starts by attempting to PoM the target of whatever enemy you have selected. It's perfect in PvP for helping out the target of the enemy player you select, and it's perfect in PvE for getting an instant heal in on someone who may have accidentally pulled aggro. If you have no target selected, it attempts to PoM your Focus if you have one set up. If neither of those happen, you will PoM yourself.

 /cast [help][target=targettarget,help][target=focus,help][target=player] Prayer of Mending

Self-Cast when solo/standard casting when in party/raid

This macro will work for any beneficial spell — buffs and heals. When solo, whatever spell you have it set up for will be cast on self. When in a party or raid, it will either cast the spell on your current target or give you the standard click-on-target-to-cast - the same as if you were using no macro for the spell at all.

/cast [nogroup,target=player] [group,help] [group,target=none] <Spellname>

Replace spellname with the spell you would like to use it for. The one drawback of this macro is that when you are solo, you cannot cast buffs on random people you pass without going to your spellbook.

Easy Shadowfiend

This macro will summon your Shadowfiend on your current target if it is hostile, or your target's target if your current target is friendly.

#showtooltip Shadowfiend
/cast [harm,nodead][target=targettarget,harm,nodead]Shadowfiend

I'm under attack!

This is possibly the most important macro a party/raid healer can have. Put it in an easily accessible action bar slot, or bind it to something convenient.

/rw The healer is under attack!

Particularly useful while pugging. Gets a near instantaneous response out of most tanks (and the beefier DPS will typically run to your aid, too). Without it, party members will often simply not notice that you've drawn aggro until you have died. Variants include using /p or /y instead of the raid warning. However, I have found that in the kind of sticky situations where you NEED the macro, party members are far too distracted to notice party chat or a yell; the raid warning never fails.

Inner Focus/Nevermelting Ice Crystal SWP

#showtooltip Shadow Word: Pain
/use Nevermelting Ice Crystal
/castsequence reset=170 Inner Focus, Shadow Word: Pain