> ## Documentation Index
> Fetch the complete documentation index at: https://cal.id/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows Setup to Cal ID

> Automate reminders and follow-up notifications by attaching Email, SMS, or WhatsApp workflows to your Cal ID event types with configurable triggers.

Workflows let you automate the messages around a booking so you never have to send a reminder or follow-up by hand. Attach a workflow to any event type to send Email, SMS, or WhatsApp reminders before a meeting starts, cutting no-shows, or to send follow-ups after it ends, such as a feedback survey, extra details, or a simple thank-you note.

Each workflow is built from a single **trigger** (the event that starts it) and one or more **actions** (the notifications it sends).

## Set up your workflow

<Steps>
  <Step title="Open the Workflows tab">
    Log in to your Cal ID account, then click **Workflows** in the left sidebar.

    From here you can use a default template for Email, SMS, or WhatsApp, or build a custom template with your own variables. To start a custom template, click **+ Add Custom**.

    <Tip>
      You can also start a workflow directly from an event type: **Event type → Workflows → Create a workflow**.
    </Tip>

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/k1VHQ7P5ONAHeLvP/images/workflows/overview-2.png?fit=max&auto=format&n=k1VHQ7P5ONAHeLvP&q=85&s=d7775e3ae804b88ae10c4f98bf8b2b88" alt="Creating a workflow from event types" width="1600" height="854" data-path="images/workflows/overview-2.png" />
    </Frame>
  </Step>

  <Step title="Name and assign the workflow">
    Before adding any logic, identify what this workflow is for:

    * **Name your workflow:** Give it a clear title (for example, **"My 24-Hour Reminder"**).
    * **Select event types:** Check the boxes for the specific meetings this workflow should apply to.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/k1VHQ7P5ONAHeLvP/images/workflows/overview-3.png?fit=max&auto=format&n=k1VHQ7P5ONAHeLvP&q=85&s=597e6a0689d9753b28190c9c7bfe31a5" alt="Naming and assigning a workflow to event types" width="1600" height="842" data-path="images/workflows/overview-3.png" />
    </Frame>
  </Step>

  <Step title="Choose a trigger">
    The trigger is the event that **starts** the automation. Pick one from the dropdown:

    | Trigger              | Fires when                                                      |
    | -------------------- | --------------------------------------------------------------- |
    | Before event starts  | A set number of minutes, hours, or days before the event begins |
    | Event is cancelled   | A booking is cancelled                                          |
    | New event booked     | A new booking is created                                        |
    | After event ends     | A set number of minutes, hours, or days after the event ends    |
    | Event is rescheduled | A booking is rescheduled                                        |

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/k1VHQ7P5ONAHeLvP/images/workflows/overview-4.png?fit=max&auto=format&n=k1VHQ7P5ONAHeLvP&q=85&s=1e1e189304c3d7c25c9ecb3e297a257b" alt="Selecting a workflow trigger" width="1600" height="842" data-path="images/workflows/overview-4.png" />
    </Frame>
  </Step>

  <Step title="Add an action">
    The action decides how you reach out. An action is a designated notification type, for example a reminder to an attendee, a specific phone number, or an email address. Pick one from the dropdown:

    | Action                                     | Sends to                          |
    | ------------------------------------------ | --------------------------------- |
    | Send email to host                         | The meeting host                  |
    | Send email to attendee                     | The person who booked             |
    | Send SMS to attendee                       | The person who booked             |
    | Send SMS to a specific number              | A fixed phone number you enter    |
    | Send WhatsApp message to attendee          | The person who booked             |
    | Send WhatsApp message to a specific number | A fixed WhatsApp number you enter |

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/k1VHQ7P5ONAHeLvP/images/workflows/overview-5.png?fit=max&auto=format&n=k1VHQ7P5ONAHeLvP&q=85&s=206f23b286730aad718a132856643d84" alt="Selecting a workflow action" width="1600" height="838" data-path="images/workflows/overview-5.png" />
    </Frame>

    When everything looks right, **save** the workflow.
  </Step>
</Steps>

<Check>
  Your workflow is live. Cal ID will now send the message automatically whenever the trigger fires on the assigned event types.
</Check>

## Custom template

You can use the default template for your messages, or switch to a custom template and add your own inputs as variables. For a full walkthrough, see [Customizing your workflow](/docs/workflows/custom-messages).

## Dynamic text variables

Insert dynamic text into your messages using variables. Each one is replaced with real booking data when the message is sent.

| Variable                   | Description                                               |
| -------------------------- | --------------------------------------------------------- |
| `{{event_name}}`           | The title or name of the scheduled event                  |
| `{{event_date}}`           | The date when the event is scheduled                      |
| `{{event_time}}`           | The start time of the event                               |
| `{{event_end_time}}`       | The end time of the event                                 |
| `{{timezone}}`             | The timezone of the person receiving the message          |
| `{{location}}`             | The location of the event                                 |
| `{{organizer_name}}`       | The organizer's (host's) name                             |
| `{{attendee_name}}`        | Full name of the attendee/person booking                  |
| `{{attendee_first_name}}`  | First name of the attendee                                |
| `{{attendee_last_name}}`   | Last name of the attendee                                 |
| `{{attendee_email}}`       | The email address of the event attendee                   |
| `{{additional_notes}}`     | Any additional notes or comments for the event            |
| `{{meeting_url}}`          | The URL to join the meeting or event                      |
| `{{cancel_url}}`           | The URL to cancel the event                               |
| `{{reschedule_url}}`       | The URL to reschedule the event                           |
| `{{rating_url}}`           | The URL for attendees to rate the event                   |
| `{{no_show_url}}`          | The URL to report a no-show for the event                 |
| `{{attendee_timezone}}`    | The timezone of the attendee                              |
| `{{start_time_tz_booker}}` | The event start time converted to the attendee's timezone |
| `{{end_time_tz_booker}}`   | The event end time converted to the attendee's timezone   |
| `{{event_type_name}}`      | The title or name of the event type                       |

<Note>
  If the location is a video conferencing app, `{{location}}` resolves to 'Zoom' or 'Google Meet' and `{{meeting_url}}` is the actual link to the meeting. If the location is not a video conferencing app, `{{meeting_url}}` is empty.
</Note>

## Send from your own WhatsApp number

If you choose **Action = WhatsApp**, the message is sent **by default from the Cal ID WhatsApp number**. To send from **your own WhatsApp number**, integrate WhatsApp Business from the Cal ID App Store. See [Integrate WhatsApp Business](/docs/workflows/whatsapp-business) for the full setup.

Once WhatsApp Business is integrated:

<Steps>
  <Step title="Create or edit a workflow">
    Open the workflow you want to use, or start a new one.
  </Step>

  <Step title="Select a WhatsApp action">
    Choose an action related to WhatsApp.
  </Step>

  <Step title="Choose your number and template">
    Select your **WhatsApp Business phone number**, then pick an **approved WhatsApp template** (created and approved in Meta).
  </Step>

  <Step title="Save the workflow">
    Save your changes.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/k1VHQ7P5ONAHeLvP/images/workflows/overview-6.png?fit=max&auto=format&n=k1VHQ7P5ONAHeLvP&q=85&s=2b80838c62de4788fe2660d0dda5d287" alt="Selecting a WhatsApp Business number and template in a workflow" width="1600" height="846" data-path="images/workflows/overview-6.png" />
    </Frame>
  </Step>
</Steps>

Once setup is complete, WhatsApp messages are sent from your selected number to the attendee or to the specific WhatsApp number.

## Next steps

<CardGroup cols={2}>
  <Card title="Customize your messages" icon="pen-to-square" href="/docs/workflows/custom-messages">
    Personalize sender names, subject lines, and booking variables.
  </Card>

  <Card title="Integrate WhatsApp Business" icon="whatsapp" href="/docs/workflows/whatsapp-business">
    Send reminders from your own WhatsApp Business number.
  </Card>

  <Card title="Track workflow status" icon="list-check" href="/docs/bookings/workflow-status">
    See which messages were sent for each booking.
  </Card>

  <Card title="Measure performance" icon="chart-line" href="/docs/insights/workflow-performance">
    Review how your automated messages are performing.
  </Card>
</CardGroup>


## Related topics

- [Customizing Your Workflow Messages](/docs/workflows/custom-messages.md)
- [Integrate WhatsApp Business](/docs/workflows/whatsapp-business.md)
- [Monitoring Notification Delivery with Workflow Status](/docs/bookings/workflow-status.md)
- [Analyzing Workflow Performance in Cal ID Insights](/docs/insights/workflow-performance.md)
- [Disable Default Attendee Confirmation Emails in Cal ID](/docs/event-types/advanced/disable-confirmation-emails.md)
