Workflow Automation
Trigger automated actions based on booking events.
Workflows let you automate actions that happen in response to booking events — no manual intervention needed.
How Workflows Work
A workflow consists of:
- Trigger — the event that starts the workflow (e.g., "Booking Created")
- Actions — what happens when the trigger fires (e.g., "Send confirmation email")
Workflows are stored as a visual graph of connected nodes. Each workflow belongs to a specific location and can be enabled or disabled at any time.
Workflow Settings
| Setting | Description |
|---|---|
| Name | A descriptive name for the workflow |
| Description | Optional notes about the workflow's purpose |
| Enabled | Toggle the workflow on or off without deleting it |
| Graph | The node-based workflow definition (managed through the visual editor) |
Available Triggers
Booking Events
| Trigger | Event Data |
|---|---|
| Booking Created | Booking ID, customer, activity, total amount, start/end time, status |
| Booking Status Changed | Booking ID, old status, new status, changed by, reason |
| Booking Cancelled | Booking ID, customer, cancelled by, reason, cancellation timestamp |
| Booking Rescheduled | Booking ID, customer, old start/end time, new start/end time, rescheduled by |
| Booking Reminder | Fires at a configured time before the booking (e.g., 24 hours before) |
Other Events
| Trigger | Event Data |
|---|---|
| Chat Message Created | Booking ID, thread ID, sender type (customer or operator), message preview, confirmation code |
Available Actions
Send Template (send_template)
Send an email or SMS using a pre-built communication template. The action automatically loads booking, customer, activity, and location data to fill in template variables.
Configuration:
| Option | Description |
|---|---|
| Template | Select from your active templates |
| Recipient Type | customer, facilitator, admin, or custom |
| Custom Recipient | An email address or phone number (supports template variables) |
Send Survey Email (send_survey_email)
Send a post-experience survey email with a unique, tokenized survey link. See Post-Booking Surveys for details.
Update Booking (update_booking)
Change a booking's status automatically. For example, auto-confirm bookings or mark them as complete.
Configuration:
| Option | Description |
|---|---|
| Field | The booking field to update (currently supports status) |
| Value | The new value |
Add Booking Note (add_booking_note)
Automatically add a note to the booking record. Notes are prefixed with [Workflow] to distinguish them from manual notes. Supports template variables in the note text.
Configuration:
| Option | Description |
|---|---|
| Note | The note text (supports {{variable}} syntax) |
Webhook (webhook)
Send an HTTP request to an external URL when the trigger fires. Useful for integrating with third-party systems.
Configuration:
| Option | Description |
|---|---|
| URL | The endpoint URL (supports {{variable}} replacement) |
| Method | GET, POST, PUT, DELETE, or PATCH (defaults to POST) |
| Headers | Custom HTTP headers (values support variable replacement) |
| Body | JSON body template (supports {{variable}} and {{eventData}} for the full event payload) |
Webhooks have a 30-second timeout and include SSRF protection that blocks requests to localhost and private networks.
Create Task (create_task)
Create an internal task for follow-up.
Configuration:
| Option | Description |
|---|---|
| Title | Task title (supports variables) |
| Description | Task description (supports variables) |
| Due In Hours | Hours until the task is due (default: 24) |
| Priority | low, normal, or high |
Creating a Workflow
- Navigate to Dashboard > Marketing > Workflows
- Click Add Workflow
- Select a trigger event
- Add one or more actions
- Configure the action details (which template, timing, etc.)
- Activate the workflow
Visual Workflow Editor
Resytech includes a visual node-based editor for building complex workflows. Drag and connect trigger and action nodes to define the flow. The graph is saved as a JSON structure so you can duplicate or export workflows.
Execution Tracking
Every workflow run is tracked with detailed execution data:
| Field | Description |
|---|---|
| Trigger Event Type | The event that started the execution |
| Trigger Event Data | The full event payload (JSON) |
| Status | Current execution status (e.g., running, completed, failed) |
| Started At | When the execution began |
| Completed At | When the execution finished (if applicable) |
| Error Message | Details if the execution failed |
Each action within an execution is tracked as a step:
| Field | Description |
|---|---|
| Node ID | The node in the workflow graph |
| Node Type | The action type (e.g., send_template, webhook) |
| Status | Step status |
| Input Data | The configuration passed to the action |
| Output Data | The action's result |
| Error Message | Details if the step failed |
View execution history from Dashboard > Marketing > Workflows by selecting a workflow and opening its Executions tab.
Examples
Booking Confirmation
- Trigger: Booking Created
- Action: Send confirmation email with booking details
Pre-Visit Reminder
- Trigger: Booking Reminder (24 hours before)
- Action: Send SMS with date, time, and location directions
Post-Experience Follow-Up
- Trigger: Booking Completed
- Action: Send survey email (after 2-hour delay)
Cancellation Notification with Webhook
- Trigger: Booking Cancelled
- Action 1: Send cancellation email to customer
- Action 2: Fire webhook to external CRM with cancellation data
Auto-Add Note on Reschedule
- Trigger: Booking Rescheduled
- Action: Add booking note with old and new times for audit purposes
