# Choose automation nodes

A node performs one task in a flow. Open the [**Step catalog**](https://bird.com/dashboard/w/automations/catalog) to inspect available nodes, their fields, output paths, and examples.

> Automations is in Early access. Your workspace permissions determine which actions you can perform.

The tables use catalog names. The canvas can show a task label such as **Choose a path** for Branch, **Find contacts** for List contacts, or **Wait for a delivery result** for Wait for event. A template can give a step its own descriptive name.

![Step catalog with category filters and cards for available automation triggers and messaging actions](/images/docs/dashboard-automations-catalog.png)

## Triggers

| Node              | Use it to                                                                             |
| ----------------- | ------------------------------------------------------------------------------------- |
| Application event | Start from an event supplied by your application, or a manual run from the dashboard. |
| Bird event        | Start from a supported incoming SMS, email, or WhatsApp event.                        |
| Schedule          | Start at recurring times in a chosen timezone.                                        |

See [Choose a trigger](/docs/guides/automations/triggers) and [Schedule runs](/docs/guides/automations/schedules-and-delays).

## Logic and data

| Node                       | Use it to                                                                   |
| -------------------------- | --------------------------------------------------------------------------- |
| Set values                 | Name values for later steps, including values calculated from earlier data. |
| Branch                     | Choose the first matching condition, or the Otherwise path.                 |
| Delay                      | Pause until a duration passes or a timestamp is reached.                    |
| Wait for event             | Wait for a supported receipt from a specific earlier messaging action.      |
| Wait for application event | Wait for a declared event associated with the run's business key.           |
| Exit                       | End with an explicit status, optional outcome reason, and result.           |

See [Flows and connections](/docs/guides/automations/flows), [data mapping](/docs/guides/automations/data), and [event waits](/docs/guides/automations/waits).

## Messaging

| Node                     | Use it to                                                            |
| ------------------------ | -------------------------------------------------------------------- |
| Send SMS                 | Send text or an SMS template to a recipient.                         |
| Send email               | Send email content or a template with recipient and sender settings. |
| Send WhatsApp            | Send a template or supported text and media content.                 |
| Read received email body | Retrieve the text and HTML body of a received email for later steps. |

See [Send messages](/docs/guides/automations/messages). A successful send means the channel accepted the message for processing.

## Contacts and audiences

| Nodes                                                       | Use them to                                                |
| ----------------------------------------------------------- | ---------------------------------------------------------- |
| Get contact, List contacts                                  | Read a contact by ID or search a page of contacts.         |
| Create contact, Update contact, Delete contact              | Change an individual contact record.                       |
| Create or update contacts                                   | Submit a prepared batch and inspect each entry's result.   |
| Get audience, Create audience, Update audience              | Read or manage a static audience.                          |
| List audience contacts                                      | Read one page of audience members.                         |
| Add contacts to audience                                    | Add specified contacts to an audience.                     |
| Remove contact from audience, Remove contacts from audience | Remove specified memberships while retaining the contacts. |

See [Work with contacts and audiences](/docs/guides/automations/contacts-and-audiences). Listing an audience does not send a message to its members.

## Preferences and lookups

| Node                  | Use it to                                                     |
| --------------------- | ------------------------------------------------------------- |
| List preferences      | Inspect recorded messaging preferences.                       |
| Record preference     | Submit a preference statement and inspect whether it applied. |
| Look up phone number  | Assess a phone number using the selected lookup properties.   |
| Look up email address | Assess an email address and inspect optional suggestions.     |

See [Use preferences and lookups](/docs/guides/automations/preferences-and-lookups).

## Next steps

- [Understand flows and connections](/docs/guides/automations/flows).
- [Use data from earlier steps](/docs/guides/automations/data).
- [Preview and check a workflow](/docs/guides/automations/preview).
- [Browse the Automations guides](/docs/guides/automations).

## Related resources

- [Preview your first automation](/docs/get-started/automations) (docs)
