> ## Documentation Index
> Fetch the complete documentation index at: https://80x.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Block changes reference

> Legacy workflow blocks map to renamed or reworked blocks in the new builder, so a migrated workflow can look correct yet behave differently.

Legacy workflow blocks map to renamed or reworked blocks in the new builder, so a migrated workflow can look correct yet behave differently. Use this page in two situations. The first is when a legacy block name no longer appears in the new builder. The second is when a migrated workflow validates cleanly but produces the wrong result at run time. Each row in the mapping table names the legacy block, its new equivalent, and the one thing to re-check after migration.

Migration happens once for any given workflow. You can no longer create new legacy workflows; existing ones keep running, and Attio says sunset notice will come "well in advance." So every legacy workflow eventually moves to the new engine. These renames are the most common reason a moved workflow misfires.

## Renamed and reworked blocks

The new engine keeps the same building blocks. It renames several of them and changes how a few behave. Read each migration note as a task to verify, not just a label change.

| Legacy block | New block | What to re-check |
| - | - | - |
| Attribute changed | [Attribute value changed](/reference/triggers/attribute-value-changed) | Same core purpose, clearer name. It fires when a value is set at creation or changed later. Confirm the trigger still matches the moment you intended. |
| If/else | [If](/reference/conditions/if) | Same decision pattern, updated naming. The two branches behave as before. |
| Guidance on Summarize record | Instructions | Re-check prompts after migration. The [Summarize record](/reference/ai/summarize-record) block now takes its guidance through an Instructions field. |
| Prompt completion | Custom agent subset | Move prompt-style generation into [Custom agent](/reference/agents/custom-agent) instructions, then re-test the output. |
| Research record | [Web agent](/reference/agents/web-agent) | Token-priced and more capable. Re-test credit cost before you rely on it at volume. |
| Condition 1, Condition 2 path labels | Case 1, Case 2 labels | The [Switch](/reference/conditions/switch) block lets you customize case labels. Name them for the business path, such as `Enterprise` or `SMB`. |
| Confetti celebration | Ceiling drop | An option rename inside the [Celebration](/reference/workspace/celebration) block. The animation changed; the block did not. |
| Overwrite multi-select values | Replace values | Especially important on [Create or update record](/reference/records/create-or-update-record). Confirm whether you want to replace the full set or add to it. |
| Slack markdown syntax | Standard markdown | Re-test links, mentions, and formatting in any Slack message after migration. |
| Record URL variable | Attio URL variable | Rewire the variable if the migrated message points to the wrong URL field. |
| Canvas notes | Not available | Move durable notes into the workflow description or external docs. The canvas no longer carries them. |

<Note>
  The Attio URL variable replaces the legacy Record URL variable, and the mapping is not always automatic. Say a migrated Slack alert links Priya Sharma to the wrong record. The URL variable is the first place to look. See [Variables & data passing](/explanation/variables) for how the new engine resolves variables.
</Note>

## Manual review checklist

Run this checklist on every migrated workflow before you trust it in production. Each item maps to a behavior the renames can quietly change.

<Steps>
  <Step title="Re-check record variables">
    Verify every variable that references a created or updated record still points at the right step. The legacy Record URL variable becomes the Attio URL variable, and downstream references can shift.
  </Step>

  <Step title="Re-check filters on previous and new values">
    Confirm any filter that depended on a value's previous or new state still evaluates as intended. The [Attribute value changed](/reference/triggers/attribute-value-changed) trigger fires on both creation and later change.
  </Step>

  <Step title="Re-check multi-select update behavior">
    Decide whether each update should replace the full set of values or add to it. The legacy "Overwrite multi-select values" option is now "Replace values," most visibly on [Create or update record](/reference/records/create-or-update-record).
  </Step>

  <Step title="Re-test Slack payload formatting">
    Send a test message and confirm links, mentions, and formatting render correctly. Legacy Slack markdown syntax is now standard markdown.
  </Step>

  <Step title="Re-check sequence sender permissions">
    Confirm the sending user still has permission to enroll contacts. The [Enroll in sequence](/reference/sequences/enroll-in-sequence) block runs under a sender identity that migration does not always preserve.
  </Step>

  <Step title="Re-check self-referential writes">
    Inspect any block that writes to the same object or list that triggered the workflow. These are the most likely to behave differently after a rename, and the most likely to loop. Read [Runs, debugging & publishing](/explanation/runs-and-debugging) before you publish.
  </Step>
</Steps>

## Where to look when something is wrong

A migrated workflow that misbehaves almost always traces back to one of the renames in the table. Open the run history for the failing run. Compare each block's output against the expected value, then check it against the matching checklist item. The renames around multi-select values, Slack formatting, and the Attio URL variable account for most silent failures.

Per-workflow credit caps were removed in the new engine. A workflow that ran inside a cap before may now run without one. Re-check credit-consuming blocks such as [Web agent](/reference/agents/web-agent) after migration. Read [Pricing changes](/guides/migrating-from-legacy/pricing-changes) for how the new pricing differs from the legacy model.

## See also

* [Migrate legacy workflows](/guides/migrating-from-legacy)
* [Pricing changes](/guides/migrating-from-legacy/pricing-changes)
* [Credits & pricing explained](/reference/credits-and-pricing)
* [Runs, debugging & publishing](/explanation/runs-and-debugging)
* [Migrate your legacy workflows](https://attio.com/help/reference/automations/workflows/migrate-your-legacy-workflows)

***

*Source: [Attio Help Center: Migrate your legacy workflows](https://attio.com/help/reference/automations/workflows/migrate-your-legacy-workflows). Last reviewed against the Attio Help Center, June 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.