Rules live at the project level by default, triggered by things entirely inside Asana: a section change, a custom field update, a due date, a dependency clearing. Custom Rules, available on paid tiers, let you chain multiple conditions and actions together rather than relying only on the prebuilt templates (notify on overdue, auto-assign on section move, and similar).
A few actions reach slightly outside Asana, posting to a connected Slack channel, say, but the trigger side stays entirely internal. A Rule has no way to watch for something happening in a different system; it only ever reacts to a change Asana itself already recorded.