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

# Automating Webinars

> Register contacts automatically and send different follow-ups to attendees and no-shows.

Most webinar programs run end to end in [workflows](/product-docs/workflows/overview): a workflow registers people when they fill out your form, sends their confirmation and reminders, and follows up differently depending on whether they showed up.

Webinars use the same triggers, nodes, and conditions as any other campaign. Wherever you're asked to pick a campaign, your webinars are in the list.

## Enrolling contacts

**On membership.** The **Contact is added to campaign** and **Contact is removed from campaign** [event triggers](/product-docs/workflows/triggers/event-based) fire for webinars too. Select the webinar in the **Campaign** field, or leave it empty to fire on any campaign.

**On status.** To enroll people based on their status, use the [Contact meets criteria](/product-docs/workflows/triggers/criteria-based) trigger with a campaign membership condition. Choose the webinar and set the status. This is how you build the two most common follow-ups:

* Everyone at **Attended** or **Attended On-Demand** gets a thank-you and a next step.
* Everyone at **No Show** gets the recording.

Because attendance is written automatically after the session, contacts enter these workflows on their own.

<Tip>
  Campaign membership conditions work anywhere the condition builder appears. Use one to build an [audience](/product-docs/audiences/creating-an-audience) of everyone who attended a webinar last quarter, or to filter who you add to the next webinar.
</Tip>

## Acting on a webinar

The [Update Campaign Member](/product-docs/workflows/nodes/update-campaign-member) node sets a contact's status. Pick the webinar and the status list becomes the six webinar statuses.

Setting the status to **Registered** on a webinar connected to Zoom, Sequel, or Goldcast registers the contact on the platform and waits for the platform to confirm, so an email later in the workflow can safely include their join link.

Other nodes you'll reach for:

| Node                                                                                       | Use                                                                   |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
| [Send Email](/product-docs/workflows/nodes/send-email)                                     | Confirmations, reminders, and follow-ups.                             |
| [Wait For](/product-docs/workflows/nodes/wait-for)                                         | Pause until the day before the session to send a reminder.            |
| [If/Else Branch](/product-docs/workflows/nodes/if-else-branch)                             | Split the follow-up so attendees and no-shows get different messages. |
| [Update Campaign Member Field](/product-docs/workflows/nodes/update-campaign-member-field) | Set your own member fields. The `webinar_` fields are read-only.      |
| [Remove Campaign Member](/product-docs/workflows/nodes/remove-campaign-member)             | Take someone off the webinar, for example when they unsubscribe.      |

## A typical program

1. **Trigger** on a submission of your registration form.
2. **Update Campaign Member**, setting the webinar status to **Registered**, which registers the contact on the platform and saves their join link.
3. **Send Email** with the confirmation, including their join link.
4. **Wait For** the day before the session, then **Send Email** with a reminder.
5. A second workflow triggers on the **Attended** and **No Show** statuses and sends the matching follow-up.

## Personalizing the emails

```liquid theme={null}
Hi {{ contact.first_name }},

You're registered for {{ tokens.session_name }} on {{ tokens.webinar_date }}.

Your personal join link: {{ campaign_member.webinar_url }}
```

After the session, member fields let you tailor the follow-up:

```liquid theme={null}
{% if campaign_member.webinar_join_duration %}
Thanks for joining us. Here are the slides from the session.
{% else %}
Sorry we missed you. Here's the recording.
{% endif %}
```

See [Webinar member fields](/product-docs/campaigns/webinars/members#webinar-member-fields) and [Liquid Overview](/product-docs/liquid/overview).
