Actions
Automate your workspace with event-triggered actions, notifications, and webhooks.
Actions
Actions automate your workspace. When something happens - a form submission, a task completion, a message - actions can automatically respond with notifications, task switches, webhooks, and more.
The Building Blocks
Every action has three parts:
- Trigger - What event fires this action?
- Conditions - Should it run this time? (optional CEL expressions)
- Action - What should happen?
Creating an Action
- Go to Actions
- Click New Action
- Configure your trigger, conditions, and action
Triggers
Pick what event fires your action:
| Category | Events |
|---|---|
| Task | Entered, Exited |
| Data Record | Created, Updated |
| Member | Joined, Left, Updated |
| Chat | Message sent (by user or assistant) |
Action Types
| Action | What It Does |
|---|---|
| Assistant Message | AI sends a message. Voice note: Continue immediately is supported for text chats and voice agents that use local/composable TTS. For native realtime model audio, Gravity Rail treats the message as Wait for reply until native audio playback can be safely ordered with the follow-up response. |
| Member Notify | Send notification to team |
| Switch Task | Move to a different workflow step |
| Member Label | Add or remove labels |
| Send Webhook | POST to an external URL |
| Form Field Update | Modify form data |
| Send Email | Send a templated email to the member |
| Send SMS | Send a templated SMS message, optionally starting a conversation |
| Phone Call | Initiate an AI-powered phone call using a workflow |
| Play Audio | Play a pre-recorded audio file on a phone call (disclosures, voicemail drops) |
| Create Chat | Open a new chat for a member on a specified channel and workflow |
| Continue Chat | Resume a scheduled callback conversation, using AI to decide whether continuation is needed |
| Pause Chat | Pause an active chat so a human agent can respond |
| Summarize Chat | Generate an AI summary of a chat conversation |
Conditions with CEL
Use CEL (Common Expression Language) to control when actions fire.
Quick Reference
cel
Available Variables
| Variable | What It Contains |
|---|---|
member | Name, email, phone, date of birth, age, labels, form data |
member.collections | Collection form data: count, latest record, recent records |
task | Current task info |
chat | Channel, paused state, test flag |
phone_number | Workspace phone number a voice/SMS chat arrived on (number, name, brand_name) |
message | The message content (for message events) |
datetime | Current time in workspace timezone |
is_business_hours | Whether it's within business hours |
Common Patterns
VIP customers only:
cel
During business hours:
cel
Specific channel:
cel
Form field check:
cel
Delayed Actions
Schedule actions for later:
- Enable the delay option
- Set hours, minutes, or seconds
- Action runs after the delay
Great for:
- Follow-up messages after 24 hours
- Escalation if no response in 2 hours
- Scheduled reminders
Webhooks
Send data to external systems when events happen.
Setup
- Create an action with Send Webhook type
- Enter your HTTPS endpoint URL
- Choose which events trigger it
Payload Format
json
Data is encrypted using your workspace's webhook key.
Common Automations
Route VIPs to priority queue:
- Trigger: Task Entered
- Condition:
"vip" in member.labels - Action: Switch Task to "Priority Support"
Notify team on escalation:
- Trigger: Task Entered (Escalation task)
- Action: Member Notify to support team
Update CRM on signup:
- Trigger: Member Joined
- Action: Send Webhook to CRM API
Follow up after call:
- Trigger: Task Exited (Call task)
- Action: Switch Task to "Follow Up" (24h delay)
Tips
- Start simple - One trigger, one action. Add complexity later.
- Test with conditions - Use
chat.is_testto run test conversations. - Order matters - Drag actions to control execution order.
- Check logs - Failed actions show error details.
Chat Actions
Create Chat
Opens a new chat for a member on a specified channel and workflow. Use this to proactively start a conversation — for example, sending an outbound SMS after a form submission or initiating a voice callback.
Configuration options:
- Channel —
sms,email,phone-voice,web, etc. - Workflow — The workflow the new chat will follow
- Initial message — Optional opening message sent when the chat is created
Continue Chat
Resumes a scheduled callback conversation. An LLM evaluates the chat history and decides whether re-engagement is appropriate given the current context, avoiding unnecessary interruptions.
Configuration options:
- Assistant prompt — Override the default continuation-decision prompt
- Update type — Controls how the continuation decision is communicated back
Pause Chat
Pauses an active chat so a human agent can take over. The chat is marked as paused in the inbox and will not receive automated replies until a human responds or the pause is cleared.
Configuration options:
- Message — Optional message sent to the member when the chat is paused (e.g., "A team member will be with you shortly")
Summarize Chat
Generates an AI summary of the chat conversation and stores it on the chat record. Useful for hand-off notes, post-call documentation, or building context before a follow-up workflow step.
Configuration options:
- Summarization prompt — Custom instructions for what to focus on in the summary
- Chat model — Override the default AI model used for summarization
Related
- CEL Expressions — Write conditions to control when actions fire
- Webhooks — Send encrypted data to external systems
- Workflows — Build the conversation flows that actions automate
Related Resources
Workflows
Build AI-powered conversation flows with tasks, abilities, and agents.
Experiments (A/B Testing)
Run member-level A/B tests with weighted groups, CEL branching, and journey goal reporting.
Routines
Run automated actions on schedules - daily reports, reminders, and recurring tasks.
All Guides
Browse all available guides