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

# Update Contact

> Automatically set or overwrite Orbit contact fields as part of a workflow. Use static values you define, or pull data dynamically from prior steps like form submissions, enrichment, or AI nodes.

## Overview

The **Update Contact** node lives in the **Automations** category of the workflow editor. When a workflow runs, this node finds the contact by email and updates the fields you configure.

This is useful when you want to enrich your contact records with data that flows through the workflow — for example, setting a company name from a Clay enrichment step, updating a job title from a form field, or marking a status based on AI qualification results.

<Info>
  **Plan requirement**

  The Update Contact node is available on **Pro** plans and above.
</Info>

## Adding the Node

1. Open a workflow in the editor and click the **+ Add Node** button.
2. Find the **Automations** category.
3. Click **Update Contact** to add it to the canvas.
4. Connect it to the node that should run before it (e.g., a trigger, filter, or enrichment node).

## Available Contact Fields

Each mapping targets one of these Orbit contact fields. You can add multiple mappings in a single node — one per field.

| Field      | Key          | Description                                |
| ---------- | ------------ | ------------------------------------------ |
| First Name | `first_name` | The contact's first name                   |
| Last Name  | `last_name`  | The contact's last name                    |
| Phone      | `phone`      | Phone number                               |
| Company    | `company`    | Company or organization name               |
| Job Title  | `job_title`  | The contact's role or title                |
| Status     | `status`     | Contact status label (e.g. Lead, Customer) |

## Configuring Field Mappings

Click the Update Contact node on the canvas to open the configuration panel. For each field you want to set, add a mapping with three parts:

<Steps>
  <Step title="Pick a Contact Field">
    Select which Orbit contact field to update (e.g., First Name, Company, Status). Each field can only be mapped once per node.
  </Step>

  <Step title="Choose a Value Source">
    Decide where the value comes from:

    * **Static Value** — type a fixed string (e.g., "Lead" or "Acme Corp").
    * **From Prior Step** — pick a field from an upstream node (form field, enrichment data, AI output).
  </Step>

  <Step title="Set the Value">
    Enter a static string, or select a field from the dropdown. The dropdown lists every field available from nodes upstream of this step.
  </Step>
</Steps>

Click **+ Add Field Mapping** to add more mappings to the same node, then click **Save**.

## Example Use Cases

### Set company name from Clay enrichment

After a Clay enrichment step, map the enriched company name to the contact's Company field.

```
Contact Field: Company
Source: From Prior Step → Company Name (from Clay)
```

### Update status after AI qualification

After an SDR Qualifying agent runs, set the contact's status to the AI bucket name.

```
Contact Field: Status
Source: From Prior Step → Qualification Bucket (from SDR Agent)
```

### Set a static status for all contacts from a specific form

Tag every contact from a demo request form with a fixed status value.

```
Contact Field: Status
Source: Static Value → Demo Request
```

### Populate name and phone from a form submission

Pull the first name, last name, and phone fields from the form trigger into the contact record.

```
Contact Field: First Name ← first_name (form field)
Contact Field: Last Name ← last_name (form field)
Contact Field: Phone ← phone (form field)
```

## How It Works at Runtime

1. The workflow identifies the contact by the **email address** in the submission data.
2. For each mapping, the node resolves the value — either from the static string or by looking up the referenced field in the workflow's combined data.
3. If the resolved value differs from the current contact value, the field is updated.
4. Every change is logged in the contact's **edit history** with a "workflow\_automation" source so you can trace what changed and why.
5. If no values changed (e.g., all fields already match), the node succeeds with zero updates.

## Tips

<Tip>
  * Place the Update Contact node **after** enrichment or AI nodes so their output fields are available in the "From Prior Step" dropdown.
  * You can combine static and dynamic values in the same node — for example, set Status to a fixed string and Company from enrichment.
  * Use the [Run History](/guides/workflows/run-history) panel to verify which fields were updated after a workflow run.
  * Incomplete field mappings are automatically removed on save, so only fully configured mappings are persisted.
</Tip>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Node Types" icon="layers" href="/guides/workflows/nodes">
    Explore all workflow node types
  </Card>

  <Card title="Contacts & Tags" icon="users" href="/guides/contacts">
    Manage your contact records
  </Card>
</CardGroup>
