IM Form Documentation

Automations
Node Reference

Every trigger and action node explained — what it does, how to configure it, and whether it executes during Run Workflow.

23Triggers
54Action Nodes
9Categories
16Variables
Scroll to explore

How Automations Work

Build visual workflows that fire automatically when something happens in IM Form.

1
Choose a Trigger
Select the event that starts your workflow — a new booking, a payment, a customer creating an account, and more.
2
Connect Action Nodes
Drag and connect nodes to send emails, update CRM records, fire webhooks, apply delays, and branch on conditions.
3
Enable & Run Workflow
Enable the automation — it fires automatically on every matching event. Use Run Workflow to test immediately with sample data.

Available Variables

Use these in any text field — To, Subject, Message, Body. They are replaced with real booking data when the automation runs.

VariableDescriptionExample Output
{{client_name}}Full name of the clientSarah Johnson
{{client_email}}Client's email addresssarah@example.com
{{client_phone}}Client's phone number+1 (512) 555-0192
{{service_name}}Name of the booked serviceDeep Tissue Massage
{{staff_name}}Assigned staff member's nameDr. Michael Carter
{{staff_email}}Staff member's emailmichael@wellnessclinic.com
{{date}}Booking dateJune 28, 2026
{{time}}Booking start time10:00 AM
{{total_amount}}Total booking amount$1,500.00
{{status}}Current booking statusConfirmed
{{booking_id}}Unique booking referenceBK-00423
{{form_name}}Name of the booking formPhysiotherapy Booking
{{site_name}}Your business / site nameAustin Wellness Center
{{site_url}}Your website URLhttps://austinwellness.com
{{coupon_code}}Applied coupon codeSAVE20
{{lead_score}}Customer's current lead score85

Triggers

Every automation starts with exactly one trigger. These are the events in IM Form that can start a workflow.

📋
Booking Created
booking_created
When a client submits a new booking form
Starting point for confirmation emails, receipts, and onboarding sequences.
Booking Approved
booking_approved
When a booking is confirmed / approved
Send confirmed appointment details after manual or automatic approval.
Booking Cancelled
booking_cancelled
When a booking is cancelled
Trigger cancellation confirmations, refund notices, or win-back offers.
🔄
Booking Rescheduled
booking_rescheduled
When a booking date or time changes
Notify the client and staff of the new schedule automatically.
🏁
Booking Completed
booking_completed
When a booking is marked as completed
Perfect for review requests, receipts, and follow-up upsells.
🔖
Booking Status Changed
booking_status_changed
When booking status changes to any value
Catch-all trigger — pair with If/Else to branch per status value.
💳
Payment Successful
payment_successful
When a payment is completed successfully
Send confirmations, invoices, or unlock gated content.
💥
Payment Failed
payment_failed
When a payment attempt fails
Alert the client immediately and provide a retry link or instructions.
💰
Deposit Paid
deposit_paid
When a deposit payment is received
Confirm the deposit and remind the client of the remaining balance.
Full Payment Received
full_payment_received
When the full amount has been paid
Send a final receipt and booking confirmation email.
↩️
Refund Issued
refund_issued
When a refund is processed
Notify the client of the refund amount and expected processing time.
👤
Customer Created
customer_created
When a new customer record is created
Start a welcome sequence for first-time customers.
🔁
Returning Customer
returning_customer
When an existing customer books again
Reward loyalty — send a thank-you, exclusive offer, or VIP note.
👥
Staff Assigned
staff_assigned
When a staff member is assigned to a booking
Notify the staff member and optionally the client who will serve them.
📅
Staff Availability Changed
staff_availability_changed
When staff availability is updated
Alert admin or auto-reassign bookings when availability changes.
📝
Form Submitted
form_submitted
Any form submission, paid or unpaid
Broadest trigger — fires on every submission regardless of payment status.
⚠️
Form Submitted — Not Paid
form_submitted_not_paid
Form submitted but payment not completed
Follow up on abandoned checkouts to recover the booking.
🚫
No-Show Detected
no_show_detected
Client did not show up for their appointment
Send a follow-up message, apply a fee, or flag the customer's lead score.
🕐
Waitlist Joined
waitlist_joined
A customer joins the waitlist for a full slot
Confirm their position and estimated wait time.
🟢
Waitlist Slot Available
waitlist_slot_available
A waitlisted slot opens up
Notify the next customer in the queue immediately.
🏷️
Coupon Used
coupon_used
When a coupon code is applied at checkout
Track coupon usage and trigger related reward flows.
Add-On Purchased
addon_purchased
When an add-on or upsell is purchased
Confirm the add-on and provide any delivery or preparation details.
🔌
Webhook Received
webhook_received
Triggered by an incoming webhook from an external service
Let Zapier, Make.com, or custom services start your automations.

Action Nodes

54 nodes across 9 categories. Connect them after a trigger to build your workflow.

Run Workflow status:
✅ Executes — runs immediately with sample booking data
⏭ Skipped — requires live data, OAuth, or is time-based
📧
Email
3 nodes · 3 execute on Run Workflow
3 nodes
📧
Send Email
send_email
✅ Executes
Send a plain-text or HTML email to any recipient
Configuration
To (email / {{client_email}}), Subject, Preheader Text, Body (plain text or HTML with {{variables}}).
✉️
Send HTML Email
send_html_email
✅ Executes
Send a rich HTML email built with the Visual Email Builder
Configuration
Opens the drag-and-drop Visual Email Builder with Header / Body / Footer sections, image blocks, buttons, and dividers. Save designs as reusable templates. Supports all {{variables}}.
🔔
Notify Admin
notify_admin
✅ Executes
Send an internal alert email to yourself or your team
Configuration
Admin Email, Subject, Message. Use for new booking alerts, flagged leads, failed payments, and other internal notifications.
💬
Messaging
3 nodes · 1 execute on Run Workflow
3 nodes
📱
Send SMS
send_sms
⏭ Skipped — requires SMS gateway
Send an SMS message via your configured SMS gateway
Configuration
To (phone number with country code), Message (160 chars recommended). Requires an SMS gateway configured in IM Form → Settings → Messaging.
💚
WhatsApp Message
send_whatsapp
⏭ Skipped — requires WhatsApp Business API
Send a message via WhatsApp Business API
Configuration
To (WhatsApp number), Message, Template Name (optional). Requires WhatsApp Business API credentials in IM Form → Integrations.
🎮
Discord Notification
send_discord
✅ Executes
Post a message to a Discord channel via webhook
Configuration
Discord Webhook URL (from Discord Server → Integrations → Webhooks), Message (supports {{variables}}), Bot Name (optional). No auth token required.
💳
Finance
3 nodes · 3 execute on Run Workflow
3 nodes
🧾
Create Invoice
create_invoice
✅ Executes
Generate an HTML invoice and email it to the client
Configuration
Send To (email), Invoice Notes (optional), Due In (days — default 7). Builds a clean invoice with service name, date, amount, and due date.
Send Receipt
send_receipt
✅ Executes
Send a payment receipt email to the client
Configuration
Send To (email), Subject. Sends a formatted receipt with booking details and the amount paid.
🏷️
Generate Coupon Code
generate_coupon
✅ Executes
Create a unique coupon code and email it to the client
Configuration
Discount (%), Code Prefix (e.g. SAVE → SAVE4X2Y9Z), Expires In (days), Send to Email. Code is stored in the system and validated at checkout.
👥
CRM
5 nodes · 3 execute on Run Workflow
5 nodes
🏷️
Add Customer Tag
add_tag
✅ Executes
Add a tag to the customer's lead record in Leads CRM
Configuration
Tag (any text). Tags appear in Leads CRM → Customer profile and can be used in If/Else conditions or filters in future automations.
✂️
Remove Customer Tag
remove_tag
✅ Executes
Remove a specific tag from the customer's lead record
Configuration
Tag (exact text to remove). Useful for lifecycle management — e.g. remove 'new-lead' after first booking.
📊
Update Lead Score
update_lead_score
✅ Executes
Increase, decrease, or set the customer's numeric lead score
Configuration
Operation (Add / Subtract / Set), Points value. Lead scores display in Leads CRM and can be used in If/Else conditions.
📌
Create Internal Note
create_internal_note
⏭ Skipped — DB side-effects avoided in test
Add a private admin note to the booking or customer record
Configuration
Note Content (text, supports {{variables}}). Notes are visible only in the admin dashboard — never shown to the client.
👤
Assign Staff Automatically
assign_staff
⏭ Skipped — requires live booking record
Auto-assign the best available staff member to this booking
Configuration
Assignment Strategy (Load Balance / Best Match). Requires staff profiles configured in IM Form → Staff.
🔗
Integrations
10 nodes · 4 execute on Run Workflow
10 nodes
📊
Add Row to Google Sheets
add_google_sheet_row
✅ Executes
Append a row of booking data to a Google Sheet
Configuration
Spreadsheet ID (from the Sheet URL), Sheet Name (tab name), Columns (comma-separated field names or {{variables}}). Requires Google Sheets connected in IM Form → Integrations.
📹
Create Google Meet Link
create_google_meet
⏭ Skipped — requires Google OAuth
Generate a Google Meet link and send it to the client
Configuration
Send Link To (email), Duration (minutes). Requires a Google account connected via OAuth in IM Form → Integrations.
💻
Create Zoom Meeting
create_zoom_meeting
⏭ Skipped — requires Zoom API
Create a Zoom meeting and send the invite to the client
Configuration
Zoom API Key, Zoom API Secret, Send Invite To (email), Duration (minutes). Requires a Zoom Developer account.
🔶
Create HubSpot Contact
create_hubspot_contact
⏭ Skipped — requires HubSpot API
Create or update a contact record in HubSpot CRM
Configuration
HubSpot API Key, Deal Pipeline (optional), Deal Stage (optional). Maps booking data to HubSpot contact and deal fields.
🔶
Update HubSpot Contact
update_hubspot_contact
⏭ Skipped — requires HubSpot API
Update a specific property on an existing HubSpot contact
Configuration
HubSpot API Key, Property Name, New Value (supports {{variables}}).
🐵
Subscribe to Mailchimp
subscribe_mailchimp
✅ Executes
Add the client to a Mailchimp audience
Configuration
Mailchimp API Key, Audience ID, Email (defaults to {{client_email}}), Tags (optional, comma-separated). Client is added immediately.
🚫
Unsubscribe from Mailchimp
unsubscribe_mailchimp
⏭ Skipped — requires Mailchimp API
Remove or unsubscribe a contact from a Mailchimp audience
Configuration
Mailchimp API Key, Audience ID, Email. Marks the contact as unsubscribed in Mailchimp.
💬
Send Slack Notification
post_slack
✅ Executes
Post a message to a Slack channel via webhook
Configuration
Slack Webhook URL (from Slack API → Incoming Webhooks), Message (supports {{variables}}), Channel (optional override). No bot token required.
🗂
Create Trello Card
add_trello_card
⏭ Skipped — requires Trello API
Create a card in a specified Trello board list
Configuration
API Key, Token, List ID, Card Name (supports {{variables}}), Description.
🔗
Webhook POST Request
send_webhook
✅ Executes
POST booking data as JSON to any endpoint
Configuration
Webhook URL, Method (POST / GET), Authorization Header (optional Bearer token), Custom JSON Payload (optional — defaults to full booking object). Works with Zapier, Make.com, n8n, and custom APIs.
🕐
Waitlist
2 nodes · 0 execute on Run Workflow
2 nodes
🕐
Move Customer to Waitlist
move_to_waitlist
⏭ Skipped — requires active booking
Add the client to the waitlist queue for a fully-booked slot
Configuration
Notify Client (yes / no). Adds the customer to the queue and sends a confirmation if enabled.
🚀
Promote Waitlist Customer
promote_waitlist
⏭ Skipped — requires waitlist queue
Notify the next waitlisted customer that a slot has opened
Configuration
Notification Message (sent to the next customer in the queue). Use after a cancellation trigger.
📤
Data
2 nodes · 0 execute on Run Workflow
2 nodes
📤
Export Booking CSV
export_booking_csv
⏭ Skipped — file generation not applicable in test
Export booking data as a CSV file and email it to an address
Configuration
Send CSV To (email address), Columns (optional comma-separated list — leave blank for all fields).
📋
Duplicate Booking
duplicate_booking
⏭ Skipped — DB side-effect avoided in test
Create a copy of the current booking record
Configuration
New Booking Status (for the duplicate), Delay (how long before the copy is created).
🔀
Logic / Flow Control
13 nodes · 0 execute on Run Workflow
13 nodes
Delay
add_delay
⏭ Skipped — time-based
Wait a fixed amount of time before the next action runs
Configuration
Wait amount, Unit (minutes / hours / days). All nodes connected after this pause until the delay completes. Essential for reminder sequences — e.g. 24 hours before appointment.
📅
Wait Until Date
wait_until_date
⏭ Skipped — time-based
Pause the workflow until a specific date and time
Configuration
Resume On (date & time). The workflow freezes at this node until the exact moment arrives.
🗓
Wait Until Booking Date
wait_until_booking_date
⏭ Skipped — time-based
Pause until a set time before or after the booking date
Configuration
Before/After booking by (amount), Unit (hours / days). E.g. '24 hours before' to send a day-before reminder.
🔀
If / Else
conditional
⏭ Skipped — flow control
Branch the workflow based on a condition
Configuration
Field (e.g. total_amount, status, service_name), Condition (equals / not equals / contains / greater than / less than), Value. Creates True and False branches — each can have different actions.
🌿
Multi-Branch Condition
multi_branch
⏭ Skipped — flow control
Split into 3 or more branches based on different conditions
Configuration
Number of Branches (3–6), each branch has its own Field / Condition / Value. Route different services to different email sequences.
🛑
Stop Workflow
stop_workflow
⏭ Skipped — flow control
Immediately end this workflow run
Configuration
Reason (internal note, optional). Place after a condition to halt the flow for non-matching records.
🏆
Goal Reached
goal_reached
⏭ Skipped — flow control
Mark this workflow as successfully completed
Configuration
Goal Name (e.g. 'Booking Confirmed'). Records a conversion event in workflow history for reporting.
🎲
Random Split (A/B Test)
random_split
⏭ Skipped — flow control
Randomly route traffic between two branches for A/B testing
Configuration
Branch A % / Branch B % (must total 100). Each run is randomly assigned to test different messages, offers, or flows.
🔀
Merge Branches
merge_branches
⏭ Skipped — flow control
Rejoin multiple branches back into a single flow
Configuration
No configuration. Place after If/Else or Multi-Branch so all paths converge before continuing.
📦
Set Variable
set_variable
⏭ Skipped — no runtime variable store in test
Create or set a custom variable for use later in this workflow
Configuration
Variable Name (no spaces), Value (supports {{variables}} and static text). Reference it later as {{variable_name}} in any node.
🔢
Math Operation
math_operation
⏭ Skipped
Perform a calculation on a variable or booking value
Configuration
Input ({{variable}} or number), Operation (add / subtract / multiply / divide), Value, Save As (new variable name).
🗓
Format Date
format_date
⏭ Skipped
Reformat a date variable into a specific display format
Configuration
Input Date ({{date}} or custom), Output Format (e.g. 'D, M d Y' → 'Sun, Jun 28 2026'), Save As.
Trigger Another Workflow
trigger_workflow
⏭ Skipped
Start a different saved automation from within this one
Configuration
Workflow Name (must match the target automation's name exactly). Chain automations together or reuse common sub-flows.
🧠
Smart / AI Nodes
13 nodes · 0 execute on Run Workflow
13 nodes
🧠
Smart Rebooking Reminder
smart_rebooking_reminder
⏭ Skipped — requires booking history data
Intelligently remind customers based on their rebooking patterns
Configuration
Days After Service, Message. Analyzes each customer's booking history to send reminders at the statistically optimal time for them specifically.
📈
Smart Upsell Offer
smart_upsell
⏭ Skipped — requires booking data
Offer a relevant add-on or upgrade based on the booked service
Configuration
Offer Text, Send To. Determines the most relevant upsell based on service type and customer history.
⚠️
Revenue Risk Alert
revenue_risk_alert
⏭ Skipped
Alert admin when a high-value booking shows cancellation signals
Configuration
Alert if booking value > (amount), Alert Email. Monitors for indicators like no payment, repeated rescheduling, or communication gaps.
🎯
Auto Lead Qualification
auto_lead_qualification
⏭ Skipped
Automatically score and tag leads based on their booking behavior
Configuration
Qualification Rules (configured via JSON). Applies scoring logic across booking frequency, total spend, and engagement patterns.
⚖️
Staff Load Balancer
staff_load_balancer
⏭ Skipped — requires live booking
Distribute bookings evenly across all available staff members
Configuration
No additional configuration. Automatically selects the staff member with the fewest current bookings.
Best Staff Match
best_staff_match
⏭ Skipped — requires live booking
Assign the staff member most suited for this service and client
Configuration
Match Priority (Skill / Availability / Rating). Scores all available staff against client history and service requirements.
🔮
Predict No-Show Risk
predict_no_show_risk
⏭ Skipped — requires historical data
Flag bookings with high no-show probability for proactive follow-up
Configuration
Risk Threshold (%), Action on High Risk (send reminder / notify admin / both). Analyzes booking time, client history, and payment status.
💫
Customer Reactivation
customer_reactivation
⏭ Skipped — requires booking history
Re-engage customers who haven't booked in a while
Configuration
Inactive For (days), Reactivation Offer (message or coupon), Send To.
🎁
Dynamic Coupon Generator
dynamic_coupon_generator
⏭ Skipped
Generate personalized coupon codes based on customer behavior
Configuration
Discount Type (percentage or fixed amount), Discount Value, Expires In (days). Generates unique codes per customer.
💎
VIP Customer Detection
vip_detection
⏭ Skipped — requires booking history
Automatically detect and tag high-value customers as VIP
Configuration
Min Bookings (count), Min Lifetime Spend ($), VIP Tag (applied when both thresholds are met).
💡
Recommended Add-On
recommended_addon
⏭ Skipped
Suggest a relevant add-on based on the service booked
Configuration
When Service Is (service name to match), Suggest Add-On (add-on name or description to include in the follow-up message).
🕐
Suggested Booking Time
suggested_booking_time
⏭ Skipped — requires booking history
Recommend the ideal next booking time based on client history
Configuration
No configuration needed. Analyzes past booking patterns to suggest the most likely preferred time slot for this specific client.
📡
Smart Follow-Up Sequence
smart_follow_up
⏭ Skipped
Multi-step follow-up that adapts based on how the client responds
Configuration
No additional configuration. Automatically adjusts the messaging cadence based on whether the client opened, replied, or booked after receiving each message.

Pro Tips

Practical workflow patterns to get the most out of IM Form Automations.

Appointment Reminder Sequence
Combine Booking Created → Delay 24h → Send Email for automatic day-before reminders. Add a second Delay 2h → Send SMS to remind them 2 hours before.
💳
Payment Recovery
Use the Form Submitted — Not Paid trigger + Delay 1h + Send Email to automatically follow up on abandoned checkouts before they go cold.
🎲
A/B Test Your Emails
Use the Random Split node to send two different subject lines or offers to 50/50 of your audience. Compare open rates in Automation History.
🔗
Chain Automations
Break complex flows into reusable sub-automations and connect them with Trigger Another Workflow. Keeps each automation simple and maintainable.
🏷️
Segment with Tags
Add Customer Tag on high-value bookings, then use those tags in If/Else conditions to deliver personalized sequences to different customer segments.
🔌
Connect Any Tool
Use the Webhook POST Request node to send booking data to Zapier, Make.com, or n8n and connect to any tool not listed — thousands of integrations via no-code platforms.
🔮
Run Workflow Testing
Click Run Workflow after building your automation to test it immediately with sample data — before enabling it for real bookings. Nodes marked ✅ execute in the test.
💎
VIP Flows
Combine VIP Customer Detection → Add Customer Tag (vip) → Trigger Another Workflow to automatically route high-value customers into a premium treatment sequence.
IM Form Automations Documentation — Every node, explained.
intometrics.com