Skip to main content

How to Migrate from HubSpot to Twenty CRM

·OSSAlt Team
hubspottwentymigrationcrmguide
Share:

How to Migrate from HubSpot to Twenty CRM

HubSpot's free CRM works until you need marketing, sales, or service hubs — then pricing jumps to $20-120+/user/month. Twenty is the modern open source CRM — Notion-like UX, GraphQL API, and full data ownership. Here's how to migrate.

Step 1: Deploy Twenty

# Docker Compose
git clone https://github.com/twentyhq/twenty.git
cd twenty
cp .env.example .env
# Configure DATABASE_URL, REDIS_URL, etc.
docker compose up -d

Access at localhost:3000 and create your workspace.

Step 2: Export from HubSpot

Contacts:

  1. HubSpot → ContactsActionsExport
  2. Select all properties or choose specific ones
  3. Download CSV

Companies:

  1. HubSpot → CompaniesActionsExport
  2. Download CSV

Deals:

  1. HubSpot → DealsActionsExport
  2. Download CSV

Step 3: Import into Twenty

Twenty supports CSV import:

  1. Open Twenty → SettingsData Model
  2. Verify your object fields match HubSpot's export columns
  3. Go to the People or Companies view
  4. Click Import → Upload CSV
  5. Map columns to Twenty fields

Field mapping:

HubSpotTwenty
First NamefirstName
Last NamelastName
Emailemail
Phonephone
Companycompany (relation)
Job TitlejobTitle
Citycity
Lifecycle StageCustom field
Lead ScoreCustom field

Step 4: Set Up Pipeline

  1. Go to SettingsData ModelOpportunities
  2. Create pipeline stages matching HubSpot:
HubSpot StageTwenty Stage
Appointment ScheduledMeeting Scheduled
Qualified to BuyQualified
Presentation ScheduledDemo
Decision Maker Bought-InNegotiation
Contract SentProposal Sent
Closed WonWon
Closed LostLost

Step 5: Configure Custom Fields

Twenty uses a flexible data model. Add custom fields to match HubSpot properties:

  1. SettingsData Model → select object (People, Companies)
  2. Add Field → choose type (text, number, date, select, relation)
  3. Map your HubSpot custom properties

Step 6: Set Up Integrations

HubSpot FeatureTwenty Equivalent
Email trackingEmail integration (coming)
Meeting schedulingCalendar sync
FormsWebhooks + API
WorkflowsAPI-based automation
ReportingAnalytics views
Email sequencesNot yet (roadmap)
Live chatNot included (use Chatwoot)

Twenty's API is GraphQL — powerful for building custom integrations:

mutation {
  createPerson(data: {
    name: { firstName: "Jane", lastName: "Doe" }
    email: { primaryEmail: "jane@example.com" }
    company: { connect: { id: "company-id" } }
  }) {
    id
  }
}

What You'll Gain

  • Full data ownership — your CRM data on your server
  • Modern UX — Notion-like interface, keyboard shortcuts
  • GraphQL API — powerful, typed API for automation
  • No per-user pricing — unlimited users
  • Custom data model — add any fields or objects
  • Open source — AGPL-3.0, active development

What You'll Lose

  • HubSpot's marketing hub (emails, forms, landing pages)
  • Sales sequences and automation
  • Built-in reporting dashboards
  • App marketplace integrations
  • Customer support ticketing

Cost Comparison

UsersHubSpot StarterTwenty Self-HostedSavings
5$100/month$15/month$1,020/year
10$200/month$25/month$2,100/year
25$500/month$40/month$5,520/year

Migration Timeline

WeekTask
Week 1Deploy Twenty, export HubSpot, import contacts/companies
Week 2Set up pipeline, custom fields, integrations
Week 3Train team, run both CRMs
Week 4Full cutover, archive HubSpot

Compare CRM platforms on OSSAlt — features, data model flexibility, and pricing side by side.

See open source alternatives to HubSpot on OSSAlt.

The SaaS-to-Self-Hosted Migration Guide (Free PDF)

Step-by-step: infrastructure setup, data migration, backups, and security for 15+ common SaaS replacements. Used by 300+ developers.

Join 300+ self-hosters. Unsubscribe in one click.