Actions — what your rules can do

Six actions: pause, activate, increase / decrease budget %, relaunch (Meta), notify_only. Platform budget minimums apply. Audit log per execution.

Written By Salvatore Sinigaglia

Last updated 19 days ago

Six actions: pause, activate, increase / decrease budget %, relaunch (Meta), notify_only. Platform budget minimums apply. Audit log per execution.

Actions — what your rules can do

Rules support 6 actions: pause, activate, increase_budget_pct, decrease_budget_pct, relaunch (Meta-only), notify_only. Actions are dispatched via background workers and respect platform minimums + pre-execution checks. Every action writes to automation_rule_execution table + audit log.

Who is this for

Anyone designing the THEN part of an if-then rule.

The 6 actions

pause

Stops the matching entity. Status flips to paused on the platform. Reversible (you or another rule can activate).

Use cases: kill losers, frequency-cap exhausted audience, end-of-day shutdown.

activate

Resumes a paused entity. Status flips to active.

Use cases: time-based campaigns (activate weekday mornings), automatic recovery after upstream issue.

increase_budget_pct

Scales the entity's daily budget up by N%. Computes the new budget value and pushes to platform.

Parameters:

  • pct — % delta (e.g. 20 = +20%)
  • budget_change_limit_pct / budget_daily_cap — configurable cap fields on the rule. They are saved but not yet enforced at execution time (enforcement is coming); don't rely on them as a hard cap. See protections.

Use cases: scale winners, ramp up at launch.

decrease_budget_pct

Scales budget down by N%. Same parameter logic as increase.

Use cases: cool off, scale down ahead of weekend, hard-cap rising spend.

relaunch (Meta-only)

Copies an ad with a new creative + handles multilanguage asset feed specs. Only available on Meta. Other platforms: action not selectable.

Use cases: creative fatigue recovery — auto-rotate to fresh creative when frequency / CTR signals decay.

notify_only

No entity change. Just sends a notification (in-app / Telegram / email) per the rule's notification settings.

Use cases: alerting only, learning a new rule's behavior before letting it act, oversight on sensitive decisions.

Platform budget minimums

Budget actions are floored at the platform minimum. The new budget is computed as Math.max(minimum, current × multiplier):

PlatformEntity levelMinimum
Googlecampaign$1
TikTokcampaign$50
TikTokadset$20
Meta / Snapchat / Taboola / LinkedInany$2

If a decrease_budget_pct would take the budget below the minimum, the value is clamped to the minimum — the action still succeeds, it is not rejected or errored.

Pre-execution checks

Before executing, the worker validates:

  1. Entity still exists (could have been deleted since evaluation)
  2. Entity in compatible state — e.g. relaunch requires an ad in active state; if it became paused, action skipped
  3. Cooldown still respected — re-checked at execute time (could have been hit by parallel rule)
  4. No pending action in 30-min window for same entity (prevents duplicates)
  5. Daily cap not exceeded for the rule

Skips are recorded with reason in entities_skipped for visibility.

Multiple actions per rule

A rule can have multiple actions. They execute in order. Example:

actions:  - notify_only  - pause

Result: notification fires + entity pauses on each match.

Common pairing: action + notify_only to ensure audit trail beyond execution log.

Per-platform handlers

The action is dispatched via platform-specific handlers:

  • Meta — native Marketing API
  • Google Ads — Google Ads API
  • TikTok — TikTok Marketing API
  • Taboola — Taboola API
  • Snapchat — Snapchat Marketing API
  • LinkedIn — no-op + logged (action skipped with reason; LinkedIn integration in progress)

Execution details

Every action execution records to automation_rule_execution table:

  • entities_evaluated — total scanned
  • entities_matched — passed conditions
  • entities_acted — actually changed
  • entities_skipped — matched but skipped (reasons in details JSON)
  • entities_errored — execution failed (API error, validation failure)
  • Per-entity: before / after values (for budget actions), metric snapshot at evaluation time

See rul-111 execution history.

Audit log

Rule lifecycle actions are written to the audit log with dot-notation names:

  • rule.create
  • rule.delete
  • rule.toggle (pause / activate)
  • rule.duplicate

There is no rule.update audit entry and no per-execution audit action — rule fires are recorded in the rule's execution history, not the audit log. Lifecycle entries are available in the audit log.

Common mistakes

  • No notification on destructive action: enable notify_on_execution for any rule that pauses or changes budget. You want to know.
  • Aggressive % delta: increase_budget_pct: 100 (double) can trip auction systems. Stay under 30% per single action.
  • No budget_daily_cap: rule fires 10× per day with 20% increase each → 6× original budget. Always set budget_daily_cap.
  • Relaunch on non-Meta: action not available outside Meta — rule will skip with reason.

FAQ

What actions can a Wevion rule take?

Rules support 6 actions: pause (stop an entity), activate (resume it), increase_budget_pct and decrease_budget_pct (scale the daily budget by N%), relaunch (Meta-only — copy an ad with new creative), and notify_only (send a notification with no entity change). Actions dispatch via SQS workers and respect platform minimums and pre-execution checks.

Why isn't the relaunch action available on my platform?

Relaunch is Meta-only. It copies an ad with a new creative and handles multilanguage asset feed specs, so it's only selectable on Meta. On other platforms the action isn't offered, and if a rule targets a non-Meta entity with relaunch, Wevion skips it and records the reason.

What happens if a budget decrease would fall below the platform minimum?

Wevion clamps it to the minimum. The new budget is computed as Math.max(minimum, current × multiplier), so if a decrease would drop below the platform minimum (for example Google campaign $1, TikTok campaign $50, TikTok adset $20, others $2) the value is floored at the minimum and the action still succeeds — it is not rejected or recorded as an error.

Can a single rule run more than one action?

Yes. A Wevion rule can have multiple actions, and they execute in order. For example notify_only followed by pause sends a notification and then pauses the entity on each match. A common pairing is an action plus notify_only, ensuring an audit trail beyond the execution log.

Does Wevion record what each rule did?

Yes. Every action is recorded in the rule's execution history with counts for entities evaluated, matched, acted, skipped, and errored, plus per-entity before/after values and the metric snapshot at evaluation time. Rule lifecycle changes (rule.create, rule.delete, rule.toggle, rule.duplicate) are written to the audit log; individual rule fires are not audit-log actions — they live in the execution history.