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

# Workflow Actions

> Every built-in action a workflow or sequence can run.

Actions are the "what" of an automation. The operations Custral runs when a workflow fires or a sequence advances. This is the reference for the **built-in** action nodes; connected apps and AI add more (see [Connecting to external apps](#connecting-to-external-apps)).

## Records & data

| Action                     | What it does                                                                                                |
| -------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Create Record**          | Create a new record of an object with initial property values, optionally from a template or template pool. |
| **Update Property**        | Set a single property on a record: status, owner, or any custom field.                                      |
| **Duplicate Record**       | Clone a record, including its notes, whiteboard, and spreadsheet documents.                                 |
| **Delete Record**          | Archive (soft-delete) a record by id, reversible.                                                           |
| **Fetch Record**           | Load one record by id for use in later steps.                                                               |
| **Fetch Multiple Records** | Load a list of records by id in a single call.                                                              |
| **Search Records**         | Find records of an object where a property matches a value.                                                 |
| **Add to List**            | Add a record to a [collection](/data/collections/overview).                                                 |

## Communication

| Action             | What it does                                                                                      |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| **Send Email**     | Send a personalized email through a connected channel (supports templates and `{{ }}` variables). |
| **Send SMS**       | Send a text message through a connected phone number.                                             |
| **Make Call**      | Place an outbound call through a connected phone number.                                          |
| **Record Meeting** | Send the AI notetaker to a Zoom / Meet / Teams link and transcribe it.                            |

## Conversations

| Action                            | What it does                                    |
| --------------------------------- | ----------------------------------------------- |
| **Update Conversation Status**    | Set a conversation to open, closed, or trash.   |
| **Assign User to Conversation**   | Add a teammate as a participant.                |
| **Update Conversation Title**     | Set or overwrite the title.                     |
| **Assign Conversation Templates** | Attach report templates to a conversation.      |
| **Delete Conversation**           | Permanently delete a conversation and its data. |

## Tasks

| Action            | What it does                                                                                 |
| ----------------- | -------------------------------------------------------------------------------------------- |
| **Create Task**   | Create and assign a [task](/automation/workflows/task-types), optionally linked to a record. |
| **Fetch Task**    | Get the pending tasks linked to a record for later logic.                                    |
| **Complete Task** | Mark a task complete by id.                                                                  |

## Logic & flow

| Action                  | What it does                                                       |
| ----------------------- | ------------------------------------------------------------------ |
| **Loop** / **Loop End** | Repeat the steps between them once per item in an array.           |
| **Regex Extract**       | Pull a value out of text with a regular expression.                |
| **Enroll in Sequence**  | Enroll a record into a [sequence](/automation/sequences/overview). |

For branching (if / else) and conditions, see [Edges & logic](/automation/workflows/edges).

## Notifications & utilities

| Action                 | What it does                                                                |
| ---------------------- | --------------------------------------------------------------------------- |
| **Notify User**        | Send an in-app + mobile push notification to a user.                        |
| **Fetch User**         | Look up a teammate by user id or email.                                     |
| **Fetch Random Email** | Pick a random sender address from a set of users (for round-robin sending). |
| **Fetch From Pool**    | Select and lock a channel from a pool for this run.                         |

## Connecting to external apps

To call an external service, add an action from a connected app rather than a generic HTTP block. In the action picker, switch to the **Apps** category and choose a provider. Its available actions are added directly to your workflow. AI-powered actions live under the **AI** category.

## Configuring an action

Each action takes **parameters**. Insert dynamic values from the trigger (or an earlier step) by wrapping them in double curly braces, for example, dropping a contact's name into an email body with `{{ record.name }}`. The editor shows which values are available from your chosen trigger.

## Troubleshooting

| Symptom                        | Likely cause                                                                 | What to check                                                                         |
| ------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| An action didn't run           | An earlier edge routed the run down a different path, or a prior step failed | Open the workflow → **Runs** and inspect each step's input / output / error.          |
| A `{{ }}` value is blank       | The referenced field isn't on the trigger's payload                          | Check the value is available from the chosen trigger (the editor lists them).         |
| Send Email / SMS / Call failed | No channel connected, or the recipient value is empty                        | Confirm a channel is connected and the recipient resolves to a real address / number. |

## See also

* [Triggers](/automation/workflows/triggers)
* [Edges & logic](/automation/workflows/edges)
* [Task types](/automation/workflows/task-types)
* [Sequences](/automation/sequences/overview)


## Related topics

- [Stripe](/integrations/stripe.md)
- [Automations](/automation/overview.md)
- [SDKs](/dev/sdks/overview.md)
- [Errors](/dev/errors/overview.md)
- [Task Types](/automation/workflows/task-types.md)
