Migrating Affinity Deals & Opportunities to Attio
Your pipeline is the part you cannot afford to scramble. Every deal needs to land in the right stage, keep its amount, and stay linked to the people and companies behind it. This page shows how Affinity Opportunities become Attio Deals, how stages and fields map, what happens to linked records and history, and how to keep pipeline integrity through the move. It builds on the full Affinity to Attio migration guide.
Opportunities become Deals
In Affinity, Opportunities live inside a list of type opportunity, where each row is a deal tied to an organization. In Attio those rows become Deals, which are records on a List or Object. Most firms map to Attio's Deals object so each opportunity gains a permanent record with its own attributes, a board view by stage, and automation hooks. A deal's name, amount, owner, and close date carry over as attributes on that record.
Pipeline stages
Stages hold your pipeline structure, so they get the most attention. In Affinity each opportunity sits at a stage value. In Attio those stage values become options on a status attribute, which drives the board view your team drags deals through. The order matters: a status attribute keeps stages in sequence (Sourced, First Meeting, Diligence, Term Sheet, Closed) so the board reads left to right the way your pipeline runs.
| Affinity opportunity field | Attio deal attribute | Notes |
|---|---|---|
| Opportunity name | Deal name | Primary record title |
| Stage | Status | Drives the board view, order preserved |
| Amount | Currency attribute | Rolls up across the pipeline |
| Owner | Owner / actor reference | Keeps deals assigned |
| Close date | Date attribute | Sorts and forecasts |
| Linked organization | Company record reference | Connects deal to company |
| Linked people | People record references | Keeps contacts on the deal |
Deal fields
Beyond the standard fields, your opportunity list carries custom columns: round, lead partner, source, conviction score. Each one becomes an attribute on the Attio Deal, and the type you choose decides how it behaves. A round dropdown becomes a select attribute. A conviction score becomes a number. A source field becomes a select so you can group your pipeline by where deals come from. The same type-mapping discipline from migrating Affinity lists applies here.
Linked people and companies
A deal is only useful if it stays connected to the company it concerns and the people you are working. Affinity links an opportunity to an organization, and often to several persons. In Attio those become record-reference attributes: the Deal points at one Company record and at the relevant People records. Dialed loads Companies and People first, then loads Deals and resolves the references so every deal opens with its company and contacts already attached. Load order matters, because referencing a record that does not exist yet breaks the link.
Deal history
History is where DIY migrations lose the most. A CSV export of opportunities gives you the current stage, not the path a deal took to get there. To preserve when a deal entered each stage, you pull stage-change events through the Affinity API and rebuild them as activity on the Attio record. Notes attached to a deal carry over as Attio Notes with their author and timestamp, covered in exporting your data from Affinity. Decide upfront how much history you need: most firms keep stage-entry dates and deal notes, and let older granular events stay archived.
Keeping pipeline integrity
The test for a clean pipeline migration is simple. Open the Attio board, and every deal sits in the stage it was in, with its amount, owner, close date, company, and contacts intact, and the pipeline total matches Affinity. Dialed validates exactly this in a free test migration before cutover. Because pipeline data is live, we run the full load close to cutover so no new deals slip through the gap, then set the date when your team stops writing to Affinity. The whole migration runs about 15 hours, near $3,000, against roughly $14,720 a year saved on plan cost, a payback around 2.4 months. Run your own pipeline through the migration calculator.
See what your firm saves switching to Attio →FAQ
- How do Affinity Opportunities map to Attio?
- They become Attio Deals, records on a List or Object, with name, amount, owner, and close date carried over as attributes and stages mapped to a status attribute.
- Will my pipeline stages stay in order?
- Yes. Stage values become options on a status attribute in their original sequence, so the Attio board reads left to right the way your Affinity pipeline ran.
- Do linked companies and people stay attached?
- Yes. Dialed loads Companies and People first, then loads Deals and resolves the references so each deal opens with its company and contacts already linked.
- Can I keep deal history?
- Stage-entry dates and deal notes carry over by pulling stage-change events and notes through the Affinity API. Most firms keep these and archive older granular events.
- How do you avoid losing deals during cutover?
- Dialed runs the full pipeline load close to cutover and sets a clear date when the team stops writing to Affinity, so no new deals fall through the gap.