Skip to main content

Workflow Actions

Actions are the building blocks of your workflows - they define what happens after your trigger fires. Chain actions together to create powerful automations that save time and deliver personalized experiences.

How Actions Work

Actions are executed in sequence, with each action receiving data from previous steps. Use connection paths to handle success and failure scenarios.

Quick Action Finder

Use the step labels shown in the workflow builder. Code identifiers are included for reference.

Contact Actions

Manage contact data, communications, and list memberships.

Data Management

Communications

Rewards & Recognition

Issue coupon configuration

The Issue coupon step supports issuing multiple coupons in a single workflow step. Use the mapped variable in later steps, for example {{variables.coupon_link}} in a Send email or Send SMS step. For a step-by-step example, see Issue a coupon to everyone who submits a form. Output Variables: When issuing a single coupon:
  • coupon_id - The issued coupon ID
  • coupon_link - Direct link to the coupon
  • coupon_code - The coupon barcode/code
When issuing multiple coupons:
  • coupon_id - JSON array of coupon IDs
  • coupon_link - JSON array of coupon links
  • coupon_code - JSON array of coupon codes
  • coupon_count - Total number of coupons issued
Output Paths:
  • Success - Coupons issued successfully
  • OfferLimitsExceeded - Contact or offer limits prevent issuing, or unique codes have run out
  • OfferExpired - Coupon offer is outside its availability window
Example: Issue Multiple Coupons

Specialized Integrations

LocalCard Gift Cards

Send digital gift cards to contacts through the LocalCard integration. Requires a LocalCard connected app. See LocalCard Gift Cards for setup. Send LocalCard from template configuration: Generate LocalCard campaign gift configuration: Example: Gift card reward workflow
Both LocalCard actions require a LocalCard connected app. Go to Company Settings → Connected Apps and connect your LocalCard account with your API key before using these actions.

Integration Actions

Connect with external platforms and services.

Salesforce CRM

Example: Lead to CRM Flow

Mailchimp Email Marketing

Example: Email List Sync

Braze Customer Engagement

Competition Entries Actions

Actions specific to competition entries.

Gameplay Actions

Actions in the Gameplay step group for filtering and scoring gameplay events.

AddCompetitionEntry configuration

Use this step to enter a contact into a separate competition card from the one that triggered the workflow. Useful for grand-prize draws, cross-promotion, or aggregating entries from multiple competitions into a single pool. Add entry is available after competition entry triggers (such as Data captured (Including disqualified) and Data captured (Qualified entries only)) and after the Survey Completed trigger. After Survey Completed, it turns the survey submission into a competition entry on the target card, such as a Form card. The workflow must be scoped to a hub. If it isn’t, or the trigger isn’t supported, the step shows an Invalid Scope or Invalid Trigger warning. Workflow with an Execute on Survey Completed trigger connected to an Add entry step that shows its target card How fields are copied: fields are matched by their Unique ID. Each field in the source entry or survey submission is copied to the target card’s form field with the same Unique ID. Fields with no match on the target form are skipped. The step fails, and no entry is created, if:
  • A required field on the target card’s form has no matching source field.
  • A matching field has a different field type on the source and the target.
  • A selected option doesn’t exist on the target card’s matching field. Options are matched by their value.
  • The target card is the card that the source entry came from.
After Survey Completed, only Add entry is available from the Competition Entries steps. AssignBonusCompetitionEntries, CompetitionEntryAddTags and CompetitionEntryRemoveTags still need a competition entry trigger.
Example: Engagement Bonus System
AssignBonusCompetitionEntries accepts either a fixed number or a Liquid variable (for example, {{ contact.fields.entry_bonus }}) for the entry count. Fractional values are truncated to a whole number when the workflow runs. This action is available on the Gameplay.DataCaptured, Gameplay.ReceiptValidationRejected, and Gameplay.ReceiptValidationSuccess triggers.

Loyalty Actions

Manage loyalty programs, points, and tier memberships. Example: Tier Progression System

Shared & Flow Actions

Control workflow logic and external communication.

Flow Control

There is no delay or wait step type in workflows.

Join paths after a split

Branching does not have to stay separate forever. After Split (decision) or Split (%), you can connect multiple paths into one later step so shared follow-up actions run once for every branch.
In the builder, drag a second connection onto a step that already has an input. An extra input handle appears while you drag so you can complete the join. See Join (converge) paths for screenshots, loop rules, and auto layout notes.

External Communication

Custom Code

Run JavaScript inline as part of a workflow when you need transformation, calculation, or conditional logic that the built-in steps don’t cover. How it works:
  • The script runs in a sandboxed JavaScript environment.
  • Workflow variables are available as inputs to the script.
  • Define one or more outputs with the data types you’ll return; the values you assign to those outputs become available to downstream steps.
Custom Code steps run in a restricted sandbox and do not have access to the network, file system, or third-party libraries. For HTTP calls, use the HttpRequest step instead.
Example: Custom Webhook Integration

Action Best Practices

✅ Design for Success and Failure

Always handle both success and failure paths:

✅ Use Descriptive Names

Name your actions clearly for easy maintenance:

✅ Validate Data Before Actions

Use filters to ensure data quality:
Chain related actions for efficiency:

Advanced Action Patterns

1. Progressive Data Collection

Build profiles over multiple interactions:

2. Smart List Management

Automatically manage list memberships:

3. Multi-Channel Notifications

Send notifications across multiple channels:

Troubleshooting Actions

Common Issues

Testing Actions

  1. Test with real data - Use actual contact records and scenarios
  2. Verify external integrations - Confirm data arrives in target systems
  3. Check error handling - Intentionally break integrations to test failure paths
  4. Monitor execution time - Ensure actions complete within reasonable timeframes

Performance Tips

Optimize Action Chains

  • Use the right Split - Split (decision) branches on conditions; Split (%) divides contacts by percentage. Neither runs branches in parallel
  • Early filtering - Place filters early to avoid unnecessary actions
  • Batch operations - Group similar actions when possible

External Integration Efficiency

  • Cache responses - Store API responses to avoid duplicate calls
  • Use webhooks - Let external systems push data instead of polling
  • Implement retries - Handle temporary failures with retry logic

What’s Next?

Need help implementing a specific action? Contact support at [email protected]