Into Pipedrive
What Shuttio writes into Pipedrive, where each object lands, the permissions it needs, how Pipedrive's API limits shape a big run, and what a rollback leaves.
Last updated: 28 October 2026
Sources that can move into Pipedrive: Spreadsheet / CSV, HubSpot, Affinity, Twenty, Attio. A CSV import is free. A CRM migration is priced by record count; the sample is free. See pricing. Pipedrive to Pipedrive is not offered.
Object by object: What objects are supported for Pipedrive migrations.
What Shuttio writes
- Persons, organizations and deals, linked as the source linked them: a person to its organization, a deal to its organization and person (a deal's other people become participants).
- Products, the products on each deal (a line item: quantity, price, discount), and leads.
- Your own fields, as Pipedrive custom fields created for you: text, number, money, date, single and multiple choice, phone and address. A field Pipedrive already has under that name is reused, never retyped. A choice value Pipedrive lacks is added as an option.
- Deal pipelines and stages, created by name (an existing pipeline or stage of that name is reused). A won or lost deal keeps its stage and is marked won or lost.
- Notes, tasks, meetings, calls and emails: a note on the deal, the person and the organization at once, with its original date; an activity of the matching type (Task, Meeting, Call, Email), owned by the Pipedrive user with the owner's email. A missing activity type is created, or the activity is written as a task and says what it was.
- Records are owned by the Pipedrive user with the same email as their owner in the source. No user is created: each is a paid seat.
- Attachments, with the full migration only (the sample moves none): each file lands in the Files of the deal, person or organization it was on. The Attachments switch on Options turns them off.
Where each thing lands
| From | Object | Lands in Pipedrive as |
|---|---|---|
| HubSpot | Contacts | Persons |
| HubSpot | Companies | Organizations |
| HubSpot | Deals | Deals |
| HubSpot | Products | Products |
| HubSpot | Line items | Products on their deals |
| HubSpot | Leads | Leads |
| Affinity | Persons | Persons |
| Affinity | Organizations | Organizations |
| Affinity | Opportunities | Deals |
| Twenty | Companies | Organizations |
| Twenty | People | Persons |
| Twenty | Opportunities | Deals |
| Attio | Companies | Organizations |
| Attio | People | Persons |
| Attio | Deals | Deals |
Permissions and why
Pipedrive fixes an app's permissions when the app is registered, so they are listed here and not asked for one by one. Connect with a Pipedrive admin.
| Scope | What Shuttio uses it for |
|---|---|
| contacts:full | Creates persons and organizations, links them, and deletes the ones a migration created when you roll it back. Also notes on them. |
| deals:full | Creates deals and their notes and participants, and deletes them on rollback. |
| activities:full | Creates tasks, calls and meetings, and deletes them on rollback. |
| products:full | Creates products and attaches them to deals. |
| leads:full | Creates leads. |
| admin | Creates and removes the pipelines, stages, custom fields and activity types a migration needs. Without it those are skipped and the run says so; a Pipedrive admin account is the simple way. |
| users:read | Lists your users, so owners are matched by email. No user is ever created. |
Matching, and what is never changed
- A person is matched on email, an organization on name, a product on code, before anything is created. You can pick another match key on the Fields step.
- A record that matches one you already had is linked to, not written: its values are yours, and a cancel never removes it. The run counts them.
- Rows that share a match value in one run become one record.
API limits
Pipedrive meters every request against your company's daily token budget (30,000 tokens x your plan's multiplier x seats) and a short burst window. Shuttio waits out the burst window. When the daily budget is spent, the run pauses and says so; press Resume after it resets (midnight, Pipedrive's server time). A migration of tens of thousands of records can take more than one day on a small plan.
Known limits
- A logged email is written as an activity of the Email type, not as a mail message: Pipedrive's API has no way to create a mail message.
- No lists and no custom objects: Pipedrive has neither. A file over 50 MB, and a file that is only a link, is listed as a failed row and not copied.
- A date-and-time value becomes a date: Pipedrive has no date-and-time field. Text longer than 255 characters is cut in a short text field (the run counts them).
- A person's job title needs Pipedrive's contact sync; without it the title is left out and the run says so.
- A record keeps the time it was imported as its created time.
- A rollback removes what the migration created: files, records, notes, activities, and the custom fields, stages, pipelines and activity types it added. Deals go to Pipedrive's deleted items for 30 days. An option added to a field you already had stays.
Not answered here? Email help@shuttio.com.