Into HubSpot Service Hub

What Shuttio writes into HubSpot Service Hub, how it keeps the original dates, how to connect, which optional permissions it asks for, what the HubSpot API cannot do, and what a rollback leaves.

Last updated: 7 Nov 2026

Helpdesks that can move into HubSpot Service Hub: Freshdesk. A migration is free under 5,000 records in total: contacts, companies, deals, notes, activities and files together; otherwise it is priced by record count, as a move into HubSpot is. The sample is free. See pricing. HubSpot to HubSpot is not offered.

Connect

  • You sign in with HubSpot on its own screen, as for any HubSpot migration. The permissions that let Shuttio write start unticked on HubSpot's screen: tick every box, or HubSpot cannot be connected. Writing tickets needs a portal with Service Hub.
  • The access is stored encrypted and deleted 14 days after the migration finishes; you can remove the app in HubSpot at any time. A migration is pinned to the portal it first wrote to: access to another portal is refused.
  • Turn off any HubSpot workflow that triggers on a new ticket (it would run on every imported ticket) while the import runs.

What Shuttio writes

  • Companies as companies (matched by domain) and contacts as contacts (matched by email): one HubSpot already has is linked to and never written or removed. Further emails of a contact are added as secondary emails; what has no property (other phones, tags, notes, fields) goes in a note on the contact or in the company's description.
  • A ticket in your first ticket pipeline: subject, description, priority, source channel, owner (matched by email, never created), the contact and company associated. Each status becomes the stage of that label, matched or added.
  • Every public reply as an email engagement with its own timestamp, from the customer or the matched owner, and every internal note as a note, each associated with the ticket and the contact. Nothing is sent to anyone.
  • The original created and solved times are written to ticket properties of their own, and to HubSpot's create and close dates where the portal lets those properties be written. Whether HubSpot honours them is checked on a live portal; the dedicated properties always hold the source's times.
  • Attachments and inline images are uploaded to HubSpot's Files API as private files and attached to their email or note. A file that cannot be copied is named in the message and in the run's warnings.
  • Your own ticket fields become ticket properties in the group "Shuttio migration" when HubSpot has none of that label (one of the same label and another type is never changed: its values go in the ticket's note). Tags become a multi-checkbox property called Shuttio tags.
  • A satisfaction rating, side conversations, time entries and the data HubSpot has no property for go into notes on the ticket.

Where each thing lands

FromObjectLands in HubSpot Service Hub as
FreshdeskCompaniesCompanies
FreshdeskContactsContacts
FreshdeskTicketsTickets, with their emails, notes, files and original dates

Matching, and what is never changed

  • Every record, email and note carries a Shuttio source id and the migration's id. A ticket created but not finished is found by that id and only its missing messages are written, so nothing is created twice.
  • A rollback archives what the ledger names (HubSpot keeps archived records in the recycle bin for 90 days), deletes the files it uploaded, and removes the ticket stages and properties it added while nothing else uses them.

What the HubSpot API cannot do

  • HubSpot's feedback submissions are read-only through the API, so a satisfaction answer is written as a note, not as a survey response.
  • A note's body is limited to 65,536 characters: a longer message is cut and says so.
  • HubSpot keeps no SLA or reply-time metrics for imported tickets. Macros, snippets and knowledge base articles are not moved.
  • HubSpot limits requests per 10 seconds and per day by plan. Shuttio paces itself, waits out a 429 and pauses the run if the limit does not clear; press Resume a few minutes later.

Not answered here? Email help@shuttio.com.