How a Data Ref is shaped
A Data Ref is a named collection of records scoped to a single Linked Account. Each record links:- Record ID: the canonical ID you create and own inside Refold. This is the key you control.
- External IDs: one or more IDs for that same entity inside connected integrations (for example, a Salesforce contact ID and a HubSpot contact ID for the same person).

Refold was previously branded as Cobalt. Some image assets and external links may still reference
gocobalt.io while the migration completes.Create a Data Ref
You don’t need to create a Data Ref by hand before using it. The first time a workflow writes to a Data Ref that doesn’t yet exist for the Linked Account, Refold creates it for you. You can also browse, inspect, and manage Data Refs from the dashboard:Open the dashboard
Go to Settings > Data Refs.
Review your refs
Each row shows the Data Ref Name, the Associated Linked Account ID, and the records inside it.
Read from a Data Ref
You read from a Data Ref inside a workflow by adding the Data Ref node and choosing one of the lookup actions. Reads work in both directions, so you can start from either side of the mapping.Get Ref from Record ID
Get Ref from Record ID
Looks up a Record ID and returns an array of every External ID associated with it across integrations. Use this when your workflow knows the canonical Refold ID and needs to find the matching IDs in connected apps.
Get Ref from External ID
Get Ref from External ID
Looks up an External ID from a specific integration and returns the Record ID it belongs to. Use this when an event arrives from a third-party app (for example, a webhook with a Salesforce contact ID) and you need to resolve it back to your canonical entity.
Update a Data Ref
Writes are also performed from the Data Ref node. Three actions cover the lifecycle.| Action | What it does | Auto-create behavior |
|---|---|---|
| Create Ref | Adds a single record (Record ID plus its External ID mapping) to a Data Ref. | If the Data Ref doesn’t exist for the Linked Account, Refold creates it and adds the record. |
| Create Bulk Refs | Adds many records to a Data Ref in a single call. | If the Data Ref doesn’t exist for the Linked Account, Refold creates it and adds all the records. |
| Delete Ref by Record ID | Removes a record from a Data Ref using its Record ID. | No auto-create. The Data Ref must already exist. |

When to use Data Refs
Cross-integration ID lookup
Resolve the same user, contact, or company across Salesforce, HubSpot, Slack, and other apps without rebuilding the mapping inside every workflow.
Cache lookup data
Store the result of an expensive lookup (for example, the ID of a record you just created) and read it back on the next execution instead of querying the integration again.
Share config across workflows
Maintain a single source of truth for IDs that multiple workflows need (welcome flow, sync flow, off-boarding flow) so updates propagate everywhere.
Accumulate counters and state
Track per-entity state between runs by keeping the canonical Record ID stable while updating its External ID mappings as new systems come online.
Limits and behavior
Data Refs are scoped per Linked Account. Two Linked Accounts can both have a Data Ref named
Users and the records inside them are completely separate.- Per-account isolation. Refs are never shared across Linked Accounts.
- Auto-create on write.
Create RefandCreate Bulk Refscreate the named Data Ref on the fly if it doesn’t already exist for the Linked Account. - No auto-create on delete.
Delete Ref by Record IDrequires the Data Ref to exist. - Stable Record IDs. Record IDs are the keys you own. Keep them stable across writes so reads stay consistent.
Examples
Resolve a Salesforce webhook back to a Refold user
Resolve a Salesforce webhook back to a Refold user
- A Salesforce webhook fires with
contactId = 003xx000004TmiQAAS. - Add a Get Ref from External ID action on a Data Ref named
Users, passing the Salesforce contact ID as the External ID. - The node returns the matching
Record ID. Use it as the canonical key in every downstream node (logging, notifications, syncing to other apps).
Sync a new signup across multiple integrations
Sync a new signup across multiple integrations
- A user signs up in your product. You generate a Record ID (for example, your internal user UUID).
- As your workflow creates the matching entity in Salesforce, HubSpot, and Slack, add a Create Ref action after each create-step to record the new External ID against the same Record ID in the
UsersData Ref. - Later workflows can call Get Ref from Record ID to fetch the full list of External IDs in one call.
Bulk import an existing customer base
Bulk import an existing customer base
- After a customer connects their Salesforce account, run a one-time backfill workflow that lists every contact.
- Use Create Bulk Refs to write all the Record ID + External ID pairs into a
UsersData Ref in a single action instead of looping over Create Ref. - If
Usersdoesn’t exist yet for this Linked Account, the bulk action creates it.
Off-board a deleted user
Off-board a deleted user
- A delete event arrives for a Record ID.
- Call Delete Ref by Record ID on the
UsersData Ref to remove the mapping so stale IDs aren’t returned by future lookups.
Next steps
Workflows overview
Learn how workflow nodes pass data between steps and how Data Ref outputs are consumed downstream.
Linked Accounts
Understand the per-customer scope that Data Refs live inside.
Manage Data Refs
Open the dashboard to inspect, filter, and edit your Data Refs.
Variables and references
See how to reference Data Ref outputs from later workflow nodes.