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 IDcoupon_link- Direct link to the couponcoupon_code- The coupon barcode/code
coupon_id- JSON array of coupon IDscoupon_link- JSON array of coupon linkscoupon_code- JSON array of coupon codescoupon_count- Total number of coupons issued
- 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
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.
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.
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.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.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:✅ Group Related Actions
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
- Test with real data - Use actual contact records and scenarios
- Verify external integrations - Confirm data arrives in target systems
- Check error handling - Intentionally break integrations to test failure paths
- 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?
- Monitoring guide → - Track action performance and troubleshoot issues
- Workflow triggers → - Explore triggers to pair with these actions
- Back to workflows guide → - Return to main workflows documentation
