Passer au contenu principal

About Actions

Actions define what happens after a trigger fires. You can chain multiple actions together to build complex automations.
  • Use the variable picker (click the (x+) icon) to browse available data from previous steps
  • Hover over any input field to see which step a variable comes from — helpful when the same field (e.g., ID) exists in multiple previous steps
  • Give each action a descriptive name for easier maintenance

Record Actions

Create a Record

Adds a new record to a selected object. Configuration:
  • Select the target object
  • Fill out the required and optional fields
  • Use data from previous steps or input values manually to populate fields
Output: The newly created record data is available for use in subsequent steps.

Update Record

Modifies an existing record in a selected object. Configuration:
  • Select the target object
  • Choose the specific record to update.
    • You can either choose a fixed record, using the drop down menu displaying all available records.
    • Or you can have the record dynamically selected, by designating a record found in a previous step, using the (x+). You cannot search for the record based on different criteria at this stage. If you’ve not yet identified the record, add a Search Record step before this Update Record step.
  • Select fields to modify and enter new values
Output: The updated record data is available for use in subsequent steps.

Delete Record

Removes a record from a selected object. Configuration:
  • Select the target object
  • Choose the specific record to delete
Output: The deleted record data remains available for use in subsequent steps.

Search Records

Finds records within a selected object using filter conditions. Configuration:
  • Select the object to search
  • Set filter criteria to narrow results
  • Configure sorting and limits
Output: Returns matching records that can be used in subsequent steps.
Limit: Search Records returns a maximum of 200 records. If you need to process more, add specific filters to reduce results or use scheduled workflows to process in batches.
Best Practice: Use branches after Search Records to handle “found” vs “not found” scenarios.

Upsert Record

Creates a new record or updates an existing one based on matching criteria. This is useful when you’re not sure if a record already exists. Configuration:
  • Select the target object
  • Note which fields can be used for matching: email for People, domain for Companies, ID for any object, or any field marked as Unique. You’ll need to populate at least one of these below.
  • Fill out the field values. Do not forget to populate at least one of the unique identifiers.
Matching usually works even better when adding only one unique identifier. For example, the screenshot below will match companies based on their domain. The ID is not necessarily needed.
  • Use data from previous steps to populate fields
How it works:
  1. Searches for a record matching your criteria
  2. If found → updates the existing record
  3. If not found → creates a new record
Output: The created or updated record data is available for use in subsequent steps.

Flow Actions

Iterator

Loops through an array of records returned from a previous step, allowing you to perform actions on each record individually. Configuration:
  • Select the array of records from a previous step (e.g., results from Search Records, from a Manual trigger with Bulk availability, from a code node)
  • Define the actions to perform on each record in the loop.
  • You can add several actions within an iterator.
  • When using branches inside an iterator, make sure the last step of each branch connects back to the iterator to close the loop.
  • Access Current Item Fields: to use fields from the record currently being processed, click on the Iterator step, then select Current item. The list of available fields from that record will be displayed and can be selected for use in subsequent actions.

Filter

Filters records based on specified conditions, allowing only records that meet the criteria to pass through. Configuration:
  • Select the record to filter
  • Define filter conditions and criteria
  • Configure which records should pass through to subsequent steps
  1. Output: Filter nodes don’t return data—they act as gates. If the conditions are met, the workflow continues. If not, the workflow stops at that branch.
  2. The IS operator can be used with numeric fields. It performs as an EQUAL.

Delay

Pauses workflow execution for a specified duration or until a specific date/time. Delay Types:
TypeDescription
DurationWait for a specific amount of time (days, hours, minutes, seconds)
Scheduled DateWait until a specific date and time
Configuration for Duration:
  • Set days, hours, minutes, and/or seconds
  • Combine multiple units (e.g., 2 days and 4 hours)
Configuration for Scheduled Date:
  • Select a date and time
  • Can reference a date field from a previous step (e.g., follow up 3 days after a meeting)
Use cases:
  • Wait 24 hours before sending a follow-up email
  • Pause until an opportunity’s close date
  • Schedule actions for business hours
The scheduled date cannot be in the past. If a date field from a previous step is used and the date has already passed, the workflow will fail.
Limits & Credits:
  • No maximum duration limit—you can set delays of minutes, days, weeks, or longer
  • 1 credit consumed when the Delay node executes, regardless of duration
  • No credits consumed while waiting—a 5-minute delay costs the same as a 5-day delay

Communication Actions

Send Email

Sends an email from your workflow. This is great for templated group emails. Emails will look like the ones you send from your mailbox. Not suited for newsletters (which require richer formatting) or automated email sequences. Prerequisites: Add an email account in Settings → Accounts Configuration:
  • Select the sender email account
You can only send emails from mailboxes synced to your own Twenty account. Sending from other team members’ mailboxes (e.g., the account owner’s email) is on the roadmap.
For all the following steps, you can reference variables from previous steps for personalization.
  • Enter recipient email address.
Only one recipient is possible at the moment.
  • Set subject line.
  • Compose message body. You can format links, create numbered list, bullet point lists, add attachments.
Adding HTML signatures is not possible at the moment.

Form

Prompts a form during workflow execution to collect user input. The responses can then be used in subsequent steps to create records, send emails, or execute any other action based on the input.
Forms are designed for manual triggers only. For workflows with other triggers (Record Created, Updated, etc.), forms are only accessible via the workflow run interface, which is not the expected user experience. A notifications center will be released in 2026 to properly support forms in automated workflows.
Configuration:
  • Configure the fields that users will be asked to fill. For each field, choose
    • a type among text, number, date, a given record, a select field. Select fields from all objects are available.
    • a label
    • a default value under Placeholder (optional)
  • Edit the form title
Output: Form responses are available for use in subsequent steps. Example: The “Quick Lead” workflow is available by default in all workspaces, available anywhere in the Command Menu Cmd + K. How to fill the form:
  • Trigger your manual workflow from the command menu Cmd K
  • Fill the form that is displayed in the side panel and click Submit.
The fields cannot be made mandatory.

Integration Actions

Code

Runs custom JavaScript within your workflow. Configuration:
  • Access variables from previous steps. You can edit the variables names dynamically.
  • Write JavaScript code in the editor
  • Return variables for use in subsequent steps
  • Test code directly in the step
If you need to use external API keys in your code, you must input them directly in the function body. You cannot configure API keys elsewhere and reference them in the serverless function.
Working with arrays? Arrays from external systems or previous steps may come as strings. See How to handle arrays in Code actions for the solution.
Click the square icon at the top right of the code editor to display it in full screen — helpful since the default editor width is limited.

HTTP Request

Sends a request to an external API as part of your workflow. Configuration:
  • Enter the API endpoint URL. Using parameters from previous steps is possible.
  • Select HTTP method (GET, POST, PUT, PATCH, DELETE)
  • Add required headers and values
  • Provide sample response for structure preview

AI Actions

AI Agent - Coming Soon

Runs an AI agent within your workflow to perform intelligent tasks. Configuration:
  • Agent: Select an existing AI agent or use the default agent
  • Prompt: Write the instruction for the AI agent
  • Reference variables from previous steps in the prompt
What AI Agents can do:
  • Analyze and summarize data
  • Classify or categorize records
  • Generate text content
  • Make decisions based on data
  • Interact with your CRM data using tools
Output: The AI agent’s response is available for use in subsequent steps. If the agent has a structured output schema, the response will follow that format.
AI Agent actions consume workflow credits based on the AI model used. See Workflow Credits for details.
AI agents respect role-based permissions. You can assign specific roles to agents under Settings → Roles to control what data they can access. See Permissions for details.