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

# Workflows

> Automate actions when things happen in your project — no code required

Workflows let you set up automatic actions that run whenever something happens in your project. Think of them as "if this happens, do that" — like sending a welcome email when someone signs up, or notifying your team when a new support ticket comes in.

## What is a Workflow?

A workflow has two parts:

* **A trigger** — the event that starts the workflow (e.g. a new member signs up)
* **One or more actions** — what happens next (e.g. send them a welcome email)

<CardGroup cols={2}>
  <Card title="Triggers" icon="bolt">
    Choose what event starts your workflow — signups, payments, form submissions, and more
  </Card>

  <Card title="Actions" icon="play">
    Define what happens — send emails, create tasks, notify Slack, sync data, and more
  </Card>

  <Card title="Conditions" icon="filter">
    Add optional conditions to each action so it only runs when certain criteria are met
  </Card>

  <Card title="Logs" icon="list">
    See a full history of every time your workflow ran and what happened
  </Card>
</CardGroup>

***

## Creating Your First Workflow

<Steps>
  <Step title="Go to Workflows">
    In your dashboard sidebar, click **Workflows**. You'll see a list of all your existing workflows, or an empty state if you're just getting started.
  </Step>

  <Step title="Create a new workflow">
    Click **New Workflow** in the top right. You can start from scratch or pick from a pre-built template to get going faster.
  </Step>

  <Step title="Choose a trigger">
    On the canvas, click the trigger node at the top. A panel opens on the right — select what event should start this workflow. For example, choose **Member Signup** to run whenever someone creates an account.
  </Step>

  <Step title="Add an action">
    Click **Add Action** below the trigger. Choose what should happen — like **Send Email** to send a welcome message, or **Slack Notify** to ping your team.
  </Step>

  <Step title="Configure the action">
    Fill in the details for your action in the right panel. You can use variables like `{{member.email}}` or `{{member.name}}` to personalise the content with real data from the trigger.
  </Step>

  <Step title="Save and enable">
    Click **Save** to save your workflow, then toggle it **on** to activate it. From now on, it will run automatically every time the trigger fires.
  </Step>
</Steps>

***

## Triggers

A trigger is the event that starts your workflow. Pick the one that matches what you want to react to.

| Trigger                     | When it fires                              |
| --------------------------- | ------------------------------------------ |
| **Member Signup**           | A new member creates an account            |
| **Member Login**            | A member logs in to your project           |
| **Payment Succeeded**       | A Stripe payment is completed              |
| **Checkout Created**        | The SDK creates a Stripe Checkout session  |
| **Subscription Created**    | A new Stripe subscription starts           |
| **Subscription Cancelled**  | A Stripe subscription is cancelled         |
| **Helpdesk Ticket Created** | A new support ticket is opened             |
| **Article Published**       | A help center article goes live            |
| **Article Updated**         | A help center article is edited            |
| **Manual**                  | You trigger it yourself from the dashboard |

***

## Actions

Actions are what your workflow does. You can add multiple actions to a single workflow — they run in order, one after the other.

### Send Email

Send a personalised email to a member or any email address.

* **To** — a specific address or `{{member.email}}` to email the person who triggered it
* **Subject** — the email subject line (supports variables)
* **Body** — the email content (supports variables)
* **Use Template** — pick from your saved email templates to pre-fill the subject and body

### Slack Notify

Send a message to your Slack workspace.

* **Message** — what to say (supports variables)
* **Channel** — leave blank to use your default channel, or specify one

### Create Task

Create a task in your project task board.

* **Title** — the task name (supports variables)
* **Description** — optional details
* **Status** — To Do, In Progress, or Done

### Send Webhook

Send data to any external URL — useful for connecting to other tools.

* **URL** — the endpoint to send to

### Add Member / Add Contact

Add someone to your members list or CRM contacts.

* **Email** — the person's email (usually `{{member.email}}`)
* **Name** — optional name

### Add Tag to Contact

Tag a contact in your CRM for segmentation.

* **Contact Email** — who to tag
* **Tag** — the tag to apply (e.g. `vip`, `churned`)

### Wait / Delay

Pause the workflow for a set amount of time before continuing to the next action.

* **Duration** — how long to wait (minutes, hours, or days)

### AI Actions

Use AI to process data from the trigger:

| Action                | What it does                           |
| --------------------- | -------------------------------------- |
| **AI Generate Reply** | Drafts a reply to a support message    |
| **AI Summarize**      | Summarises content from the trigger    |
| **AI Classify**       | Categorises or labels the trigger data |

### Framer Sync

Sync your member data to a Framer CMS collection — great for keeping member-facing content up to date automatically.

***

## Using Variables

Variables let you pull in real data from the trigger event. Use them anywhere in your action fields.

| Variable              | What it contains               |
| --------------------- | ------------------------------ |
| `{{member.email}}`    | The member's email address     |
| `{{member.name}}`     | The member's full name         |
| `{{member.plan}}`     | The member's current plan      |
| `{{form.field_name}}` | A value from a form submission |
| `{{trigger.event}}`   | The name of the trigger event  |

Click the **{ }** button next to any field to browse and insert available variables.

***

## Adding Conditions

Each action can have an optional condition — the action only runs if the condition is true.

<Steps>
  <Step title="Open the action config">
    Click on an action node on the canvas to open its settings panel.
  </Step>

  <Step title="Add a condition">
    Scroll down to the **Condition** section and toggle it on.
  </Step>

  <Step title="Set the rule">
    Choose a field, an operator (equals, contains, is empty, etc.), and a value. For example: `member.plan` **equals** `premium`.
  </Step>
</Steps>

If the condition isn't met, that action is skipped and the workflow moves on to the next one.

***

## Workflow Templates

Not sure where to start? Use a pre-built template to set up common workflows in seconds.

<CardGroup cols={2}>
  <Card title="Welcome New Members" icon="hand-wave">
    Sends a welcome email automatically when someone signs up
  </Card>

  <Card title="Payment Thank You" icon="credit-card">
    Sends a thank-you email after a successful payment
  </Card>

  <Card title="New Ticket Alert" icon="ticket">
    Notifies your Slack channel when a new support ticket is created
  </Card>

  <Card title="Subscription Cancelled" icon="circle-xmark">
    Sends a win-back email when someone cancels their subscription
  </Card>
</CardGroup>

To use a template, click **New Workflow → Browse Templates**, pick one, and it will be pre-configured and ready to customise.

***

## Running a Workflow Manually

If your workflow uses the **Manual** trigger, you can run it yourself at any time.

<Steps>
  <Step title="Open the workflow">
    Go to **Workflows** and click on the workflow you want to run.
  </Step>

  <Step title="Click Trigger Now">
    In the top bar of the workflow builder, click **Trigger Now**.
  </Step>

  <Step title="Confirm">
    The workflow runs immediately and you can see the result in the logs.
  </Step>
</Steps>

***

## Viewing Logs

Every time a workflow runs, Gately records what happened.

<Steps>
  <Step title="Open the workflow">
    Go to **Workflows** and click on any workflow.
  </Step>

  <Step title="Open the logs panel">
    Click **Logs** in the top bar of the workflow builder.
  </Step>

  <Step title="Review the results">
    You'll see a list of recent runs. Each run shows the trigger, the status (success, partial, failed), and the result of each action — including any errors.
  </Step>
</Steps>

***

## Tips

<AccordionGroup>
  <Accordion title="Test before enabling">
    Use the Manual trigger to test your workflow before switching it on. Check the logs to make sure everything ran as expected.
  </Accordion>

  <Accordion title="Use the Delay action">
    Don't send everything at once. Add a Wait action between steps — for example, send a welcome email immediately, then a follow-up 3 days later.
  </Accordion>

  <Accordion title="Use conditions to personalise">
    Add conditions to actions so different members get different experiences. For example, send one email to free members and a different one to paid members.
  </Accordion>

  <Accordion title="Use email templates">
    Save your best emails as templates in Campaigns → Templates, then select them in the Send Email action. This keeps your emails consistent and easy to update.
  </Accordion>
</AccordionGroup>
