The one rule that decides
A macro fires actions when you press it. An addon can decide, remember, and act on its own schedule. That is the whole boundary: if the job is a press and an action, macro it. If the job needs memory or automation, addon it. The confusion comes from the middle ground, and the middle ground is where this page lives.
What a macro is good at
- Context targeting: mouseover, focus, assist. A macro aims instantly; an addon aiming at the same thing is a custom-coded copy of a native feature.
- Modifier keys: one bind, several spells. Native
[mod:shift]needs nothing installed. - Fixed sequences: dot openers on
reset=target. - Anything on a GCD budget: macros are lightweight, fast, and cannot lag a raid.
What an addon is good at
- State and timers. Procs, cooldowns, buff uptime across the whole fight. A macro forgets everything between presses; an addon remembers everything.
- Priority rotations. "Use cheaper spell if available, procced spell if up, filler otherwise" is a decision tree, which is a program's job, not a button's.
- Collection logic. Mount addons pick the best flyer from your roster; the macro language provides the [flyable] eligibility check but not the choice.
- Information display. Timers, alerts, bars. None of that is a macro capability at all.
The decision table
Quick style guide for the common asks:
- "One button, heal whoever my cursor is over": macro. The mouseover page has it.
- "One button, rotate my spells optimally for me": addon. Rotations are decision trees.
- "One button, step through my opener": macro. Castsequence reset=target.
- "Warn me when my trinket is up": addon. Timers are addon territory.
- "Dismount when I right-click my mount key": macro. [button:2] is native.
- "Pick the best mount for the zone": addon. [flyable] covers eligibility natively, but choosing between flyers is addon logic.
The hybrid: clicking addon frames
When an addon builds buttons for you (timers, trackers, or the old-school tells), a macro can trigger them with /click:
#showtooltip/click MyAddonButton1/click ActionBarButton1
This is an old and honorable trick, and the client restricts what scripts can do in combat as a security measure. The rule of thumb: /click on a frame you can see is normal; scripts that try to automate beyond that are where the restrictions (and the ToS line) live. Use the click hybrid for convenience, not automation.
The eternal macro
The macro system is core client infrastructure, shipped in vanilla, unchanged in the WoW: Forever beta, and documented on this site. Addons come and go with patches and policy; the macro window stays. When in doubt, put the thing in a macro, and if the macro cannot do it, that is not a macro problem, it is an addon decision. Start with the macro guide and skip the addon installers until the pattern actually fails.