CRM migration
Field-level mapping, validation, and rollback between Mekari Qontak and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Mekari Qontak
Source
Twenty CRM
Destination
Compatibility
4 of 11
objects map 1:1 between Mekari Qontak and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Mekari Qontak to Twenty CRM is a structural migration from an Indonesia-centric omnichannel platform to a self-hosted open-source CRM that prioritizes data ownership and schema flexibility. Qontak uses WhatsApp Business API integration as its core differentiator with channel attribution stored at the conversation layer, while Twenty uses a Company-People-Opportunity object model with full custom object support from its first release. We export contacts, companies, deals, and tickets via the Mekari API, transform enumerated pipeline stages and ticket status values into Twenty's configuration-driven stage model, and handle the WhatsApp number offboarding sequence so that message history is extracted before the WABA access is released. Chatbot flows, workflow automations, and broadcast campaign history do not migrate as code; we deliver a detailed flow map and automation inventory for your admin to rebuild in Twenty or an alternative automation layer. Custom objects require pre-creation in Twenty's Settings before CSV import, a constraint that Twenty's own documentation explicitly calls out and that we resolve at schema design time.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Mekari Qontak object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Mekari Qontak
Contact
Twenty CRM
People
1:1Qontak Contacts map directly to Twenty People. The primary fields (name, phone, email, address) migrate 1:1. We preserve the Qontak contact source channel (WhatsApp, Instagram, Email, LINE) as a custom field on People since Twenty has no native channel attribution model. Custom Contact properties migrate to Twenty custom fields, which must be pre-created in Settings before import. Phone numbers in Qontak's Indonesian format (08xx) require normalization to international format (62xx) during the transform step.
Mekari Qontak
Company
Twenty CRM
Company
1:1Qontak Companies map to Twenty Companies with domain and address fields preserved. The company domain becomes the Website field and is used as a dedupe key. If Qontak stores multiple contacts per company with a primary-company assignment, we resolve the Company record first so that the Company-People relationship is satisfied at import time.
Mekari Qontak
Deal
Twenty CRM
Opportunity
1:1Qontak Deals map to Twenty Opportunities. The Qontak dealstage property (enumerated stage names that vary by plan tier) maps to Twenty Opportunity stage values, which we configure in Twenty's workspace settings before import. Deal amount, close date, and owner assignment migrate directly. Qontak's pipeline-to-stage hierarchy requires pre-configuration in Twenty's pipeline settings to match the source pipeline structure.
Mekari Qontak
Deal Stage
Twenty CRM
Opportunity Stage
lossyQontak's enumerated stage lists (which differ by Sales Suite, Service Suite, and Qontak 360 tiers) map to Twenty workspace-configurable stage values. We extract the complete stage list during discovery, configure the matching stage set in Twenty before any Opportunity import, and map stage probabilities from Qontak to Twenty stage settings.
Mekari Qontak
Ticket
Twenty CRM
Case or Custom Object
lossyQontak Tickets migrate to Twenty Cases if the customer uses a service-oriented workflow, or to a custom object (e.g., SupportTicket) if Twenty's native Case object does not cover the ticket schema. Qontak ticket status values (enumerated) map to Twenty status picklist values that we configure before import. Custom ticket fields migrate to Twenty custom fields pre-created in Settings.
Mekari Qontak
User / Agent
Twenty CRM
People (with role field)
1:1Qontak agent records (Supervisor, Agent roles, channel allocation rules) map to Twenty People records with the role stored as a custom text or select field. We resolve agent email matches against Twenty user accounts. If a Qontak agent has no corresponding Twenty user, we hold the mapping in a reconciliation queue for admin provisioning before record import.
Mekari Qontak
Custom Properties (Contact)
Twenty CRM
Custom Fields on People
lossyQontak custom Contact properties (accessible via Mekari API) migrate to Twenty custom fields on the People object. We extract the full custom property schema during discovery, pre-create all custom fields in Twenty's Settings with matching field types, and map property values during the transform step. Qontak multi-select or checkbox properties convert to Twenty multi-select picklist fields.
Mekari Qontak
Custom Properties (Deal)
Twenty CRM
Custom Fields on Opportunity
lossyQontak custom Deal properties migrate to Twenty custom fields on the Opportunity object. Same pre-creation requirement applies: Twenty requires fields to exist before import. Custom Deal fields referencing other Qontak objects (e.g., a custom field pointing to a related Contact) map to Twenty lookup fields on Opportunity after the target object is imported.
Mekari Qontak
Chatbot Flows
Twenty CRM
Documentation deliverable
lossyQontak chatbot flows use an internal JSON schema that is not portable to Twenty or any other CRM platform. We extract the full decision tree structure, conditional branching logic, and message templates from Qontak's flow builder and document them as a re-build guide. The flow map includes trigger conditions, decision node branches, delay actions, and CRM action steps. No automated import is possible.
Mekari Qontak
Workflow Automations
Twenty CRM
Automation inventory deliverable
lossyQontak automation rules (trigger conditions, action sequences, scheduled broadcasts) use a Qontak-specific workflow schema that does not export in a portable format. We document every active automation: trigger type, conditions, action sequence, and scheduling. Twenty's automation model requires manual rebuild; the inventory document maps each Qontak automation to a recommended Twenty equivalent or a third-party automation tool (e.g., n8n, Make) if the workflow involves external system actions.
Mekari Qontak
Contacts List / Segment
Twenty CRM
Custom Field or Tag on People
lossyQontak list membership and segmentation criteria are stored as separate objects. We export list definitions and populate list membership as a multi-select custom field on People (e.g., segment_1, segment_2). Dynamic segment membership, which recalculates based on current contact data, does not migrate as a live rule; we deliver a static snapshot and a re-build recommendation for Twenty's filtering or a third-party segmentation tool.
| Mekari Qontak | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage | Opportunity Stagelossy | Fully supported | |
| Ticket | Case or Custom Objectlossy | Fully supported | |
| User / Agent | People (with role field)1:1 | Fully supported | |
| Custom Properties (Contact) | Custom Fields on Peoplelossy | Fully supported | |
| Custom Properties (Deal) | Custom Fields on Opportunitylossy | Fully supported | |
| Chatbot Flows | Documentation deliverablelossy | Mapping required | |
| Workflow Automations | Automation inventory deliverablelossy | Mapping required | |
| Contacts List / Segment | Custom Field or Tag on Peoplelossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Mekari Qontak gotchas
WhatsApp Business API number offboarding requires manual support request
Broadcast quotas are enforced at account level, not campaign level
Marketing Messages API migration for WABA numbers registered after August 2025
Chatbot flow JSON is not portable between platforms
Frequent platform UI updates can rename or relocate export options
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Discovery and Qontak scan
We audit the source Qontak account across plan tier (Broadcast, Sales Suite, Service Suite, Qontak 360), contact volume, deal and ticket counts, custom property schemas, active chatbot flows, active automation rules, and broadcast campaign history. We verify the WABA number status (standard vs. Marketing Messages API), check quota headroom, and confirm the HMAC API access credentials. The discovery output is a written migration scope with record counts per object, a custom property inventory, and a WABA offboarding timeline recommendation.
Schema design and Twenty workspace preparation
We configure the destination Twenty workspace before any import. This includes creating any custom objects needed (e.g., SupportTicket if Case is insufficient), adding custom fields to Company, People, and Opportunity with types matched from Qontak, configuring Opportunity stage values and probabilities to match the Qontak pipeline, and inviting all team members who will be referenced as record owners. Twenty requires fields and users to exist before CSV import; we complete this step entirely before record migration begins.
WABA offboarding coordination and message history extraction
We submit the WhatsApp Business API offboarding request to Qontak support on the customer's behalf and sequence the contact export immediately before the offboarding completes. This ensures that the WhatsApp message history API endpoint is still accessible for us to extract conversation metadata (channel, timestamp, agent, disposition) before the WABA access is released. The offboarding is coordinated to avoid mid-migration disruption if the customer is actively using WhatsApp messaging during the migration window.
Data export, transform, and deduplication
We export Contacts, Companies, Deals, and Tickets via the Mekari API with HMAC authentication. During transform, we normalize phone numbers to international format, split Qontak's enumerated pipeline stages into Twenty's configurable stage values, map Qontak's channel attribution to custom People fields, and resolve Qontak agent email references against the pre-provisioned Twenty user list. We run deduplication on email and phone as the dedupe key, flagging records that would create duplicates for customer review before import.
CSV import and reconciliation
We import records into Twenty via CSV in dependency order: Companies first, then People (with Company lookup resolved), then Opportunities (with People and Company lookups resolved), then Tickets or custom objects. Each phase emits a row-count reconciliation report. We spot-check 25-50 records per object against the Qontak source for field-level accuracy and flag any mapping corrections before the next phase begins.
Cutover, delta migration, and automation handoff
We freeze writes to Qontak during the cutover window, run a final delta migration of any records modified during the migration, then mark Twenty as the system of record. We deliver the chatbot flow map, automation inventory document, and segmentation rebuild guide to the customer's admin team for manual rebuild in Twenty or a third-party automation tool. We support a one-week hypercare window for reconciliation issues. We do not rebuild Qontak workflows or chatbot flows as Twenty configurations inside the migration scope.
Platform deep dives
Mekari Qontak
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Mekari Qontak and Twenty CRM.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Mekari Qontak: Not publicly documented by Qontak; enforced at account level for broadcast quotas.
Data volume sensitivity
Mekari Qontak doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Mekari Qontak to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Mekari Qontak to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Mekari Qontak
Other ways to arrive at Twenty CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.