# Register for Event

Add this contact to an event's list, which is what makes them eligible for its reminders — a named event, or the next published one coming up.

## Getting here

**Automate → Workflows**, open a workflow, click **+** on the canvas, then pick **Register for Event** under **Add Steps**.

## Before you start

- An **owner**, **admin** or **agent** can add this step and save the workflow. Publishing that workflow — the thing that makes it run on live conversations — is an **owner** or **admin** action.
- Building and running workflows depends on your plan; see [pricing](/pricing).
- At least one event, or a way to name one later, makes this useful — the step still saves with none, but has nothing to register into until one exists.

## Set up

1. Open the workflow and click **+** where the registration belongs.
2. Pick **Register for Event**.
3. Leave the dropdown on **The next published event** for a session that repeats — the flow then never needs editing between sessions — or pick a specific one.
4. Save the step, then publish the workflow. A saved but unpublished workflow registers nobody.

## Fields

| Field | What it means | Default | Limits |
| --- | --- | --- | --- |
| The next published event (dropdown) | Which event to register the contact for. This dropdown carries no on-screen label in the drawer. | The next published event | “The next published event” only ever considers events that are published and have not started yet. The dropdown also lists upcoming drafts, marked “(draft)”, and a picked event is registered into whatever its status. |

## How it works

- The step resolves the contact behind this conversation and adds them to the named event's registration list, which is what makes them eligible for that event's reminders.
- Left on **the next published event**, it picks the soonest published event that has not started — never the nearest one in either direction, so a session already underway is never enrolled into.
- A contact can only be registered once per event: registering someone already on the list, with the registration already **registered**, is a no-op success. Two exceptions still write: a **canceled** registration is reactivated back to **registered** (an **attended** or **no_show** one is never touched, so re-running this step cannot undo a measured fact), and a registration missing its conversation link gets this run's conversation attached to it.

## When it fails

- This conversation has no linked contact: the step fails with **this conversation has no contact to register**.
- A named event id does not exist in this workspace, or none is coming up when left on the default: the step fails with a specific reason — **that event no longer exists in this workspace** or **no published event is coming up to register into**.
- Saving the registration itself fails at the database: the step fails with **could not save the registration**, or, on the rare race where the row disappears between two reads, **the registration disappeared while saving**.
- Three other database calls in this step's path — the initial conversation lookup, the re-read after finding an existing registration, and the repair write to it — report no specific reason if they fail: the run's **Activity** tab shows the fixed line **failed without a reported reason** for those.
- A failed registration does not stop the run: the step is recorded failed and the flow moves straight to the next one.

## Limits

- It only ever adds a contact to the list — it cannot cancel a registration or record what happened at the event; that is **Record Attendance**.
- “The next published event” never picks a draft — a session still being built is skipped until it is published.
- It cannot register anyone without a linked contact on this conversation.
- Registering the same contact twice is not an error, but it is also not a second registration — there is exactly one row per contact per event.

## Use cases

- A weekly webinar flow left on **the next published event**, so the same workflow keeps registering people into whichever session is coming up without being edited.
- Register a contact for a specific product launch event named in the step, right after they answer **yes** to an **Ask a Question** step asking if they want a reminder.

## Related

- [Record Attendance](https://inchat.inseller.my/help/workflows/record-attendance)
- [Workflows: how a flow runs](https://inchat.inseller.my/help/workflows/workflows-overview)

---

Source files: `src/lib/workflows/ai-builder/spec.ts`, `src/lib/workflows/canvas-model.ts`, `src/components/workflows/WorkflowStepConfigDrawer.tsx`, `src/lib/workflows/engine-record-actions.ts`, `src/lib/workflows/types.ts`, `src/app/(app)/workflows/[id]/page.tsx`
