ResytechResytech Docs
Marketing & Automation

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:

  1. Trigger — the event that starts the workflow (e.g., "Booking Created")
  2. 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

SettingDescription
NameA descriptive name for the workflow
DescriptionOptional notes about the workflow's purpose
EnabledToggle the workflow on or off without deleting it
GraphThe node-based workflow definition (managed through the visual editor)

Available Triggers

Booking Events

TriggerEvent Data
Booking CreatedBooking ID, customer, activity, total amount, start/end time, status
Booking Status ChangedBooking ID, old status, new status, changed by, reason
Booking CancelledBooking ID, customer, cancelled by, reason, cancellation timestamp
Booking RescheduledBooking ID, customer, old start/end time, new start/end time, rescheduled by
Booking ReminderFires at a configured time before the booking (e.g., 24 hours before)

Other Events

TriggerEvent Data
Chat Message CreatedBooking 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:

OptionDescription
TemplateSelect from your active templates
Recipient Typecustomer, facilitator, admin, or custom
Custom RecipientAn 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:

OptionDescription
FieldThe booking field to update (currently supports status)
ValueThe 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:

OptionDescription
NoteThe 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:

OptionDescription
URLThe endpoint URL (supports {{variable}} replacement)
MethodGET, POST, PUT, DELETE, or PATCH (defaults to POST)
HeadersCustom HTTP headers (values support variable replacement)
BodyJSON 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:

OptionDescription
TitleTask title (supports variables)
DescriptionTask description (supports variables)
Due In HoursHours until the task is due (default: 24)
Prioritylow, normal, or high

Creating a Workflow

  1. Navigate to Dashboard > Marketing > Workflows
  2. Click Add Workflow
  3. Select a trigger event
  4. Add one or more actions
  5. Configure the action details (which template, timing, etc.)
  6. 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:

FieldDescription
Trigger Event TypeThe event that started the execution
Trigger Event DataThe full event payload (JSON)
StatusCurrent execution status (e.g., running, completed, failed)
Started AtWhen the execution began
Completed AtWhen the execution finished (if applicable)
Error MessageDetails if the execution failed

Each action within an execution is tracked as a step:

FieldDescription
Node IDThe node in the workflow graph
Node TypeThe action type (e.g., send_template, webhook)
StatusStep status
Input DataThe configuration passed to the action
Output DataThe action's result
Error MessageDetails 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

On this page