CRM migration

Migrate from BookingKoala to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between BookingKoala and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

BookingKoala logo

BookingKoala

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

100%

12 of 12

objects map 1:1 between BookingKoala and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

BookingKoala organizes data around bookings: customers who schedule, providers who deliver, and the appointment itself — with supporting objects for invoices, payments, reviews, referral credits, and campaigns. Salesforce Sales Cloud uses the Account-Contact-Opportunity model, where the booking becomes an Opportunity with custom fields, and every BookingKoala entity without a native Salesforce equivalent becomes a custom object with a __c suffix. We extract BookingKoala data via API export or CSV download, then restructure it into Salesforce's relational schema. Provider records map to Contacts with a Provider_Role__c custom pick-list, bookings map to Opportunities with BookingKoala_ID__c for traceability, and industry classifications persist as a custom Industry_BK__c pick-list. Invoices and payments migrate as custom objects or as Opportunity custom fields depending on record count and your reporting needs. Reviews, referral credits, and campaign data require Salesforce custom objects since no native equivalent exists. Everything that lives outside the data layer — automations, Zapier integrations, referral logic, email campaigns — does not migrate. Those must be rebuilt in Salesforce Flow or your chosen automation stack. Our migration sequence loads Accounts and Contacts first (foreign keys must exist before bookings), then Opportunities with booking details, then custom objects in dependency order. A 24–48 hour delta-pickup window captures in-flight records created or modified during cutover.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

BookingKoala logo

BookingKoala

What's pushing teams away

  • Email-only support creates friction when urgent operational issues arise. Several reviews mention delays in getting responses, pushing frustrated customers toward platforms with live chat or phone support.
  • The 50-provider cap on the Premium plan blocks growth for mid-sized service businesses. Teams that exceed the limit must split into multiple accounts or migrate to an enterprise FSM platform.
  • No public API limits automation and migration options. Businesses that need programmatic access to booking data, customer records, or provider information outgrow the platform's CSV-only export model.
  • Advanced features including SMS, automatic reviews, gift cards, and multi-industry pricing are gated behind the Premium tier. Upgrading adds cost without guaranteeing feature parity with competing platforms.
  • Businesses that scale beyond simple booking and scheduling hit the ceiling of what BookingKoala's reporting and workflow tools offer, prompting migration to platforms with deeper analytics and custom automation.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How BookingKoala objects map to Salesforce Sales Cloud

Each row shows how a BookingKoala object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

BookingKoala

Customer

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Direct map. Every BookingKoala customer becomes a Salesforce Contact. Email uniqueness enforced by Salesforce — duplicates flagged before insert. Multi-location customers with several service addresses store the primary location in BillingAddress; additional addresses migrate as custom address fields on the Contact record.

BookingKoala

Provider

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Direct map with Provider_Role__c custom pick-list to distinguish providers from customers in the shared Contact object. BookingKoala's provider fields (service type, status, rating) migrate as custom fields. Provider email matched to Salesforce User by email for owner assignment on related bookings/opportunities.

BookingKoala

Booking

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

BookingKoala bookings become Salesforce Opportunities. Service type maps to Opportunity Name for readability; the original BK booking ID persists in BookingKoala_ID__c for delta-run de-duplication and traceability. Booking status (confirmed, completed, cancelled) maps to a custom Opportunity_Status_BK__c pick-list.

BookingKoala

Industry

maps to

Salesforce Sales Cloud

Custom pick-list on Opportunity

1:1
Fully supported

BookingKoala industries (Home Cleaning, Pet Groomer, Moving Service, etc.) migrate as a custom Industry_BK__c pick-list on Opportunity. Multi-industry accounts create separate Opportunity records per industry — your admin decides whether to consolidate or split based on reporting needs.

BookingKoala

Invoice

maps to

Salesforce Sales Cloud

Custom Object: Invoice__c

1:1
Fully supported

Invoice__c is a custom object linked to Opportunity via BookingKoala_ID__c lookup. Invoice status (paid, pending, overdue) maps to a custom pick-list. If your BookingKoala setup uses fewer than 500 invoices, we can alternatively store invoice totals and status as Opportunity custom fields to reduce custom object count.

BookingKoala

Payment

maps to

Salesforce Sales Cloud

Custom Object: Payment__c

1:1
Fully supported

Payment__c is a custom object linked to Invoice__c or Opportunity. Payment method, transaction ID, and payment date migrate as custom fields. Stripe or payment processor references stored in Source_Payment_ID__c for reconciliation if you reconnect a payment integration post-migration.

BookingKoala

Review

maps to

Salesforce Sales Cloud

Custom Object: Review__c

1:1
Fully supported

Review__c is a custom object with a 1–5 star Rating__c (Number), reviewer name, Comment__c (long text), Provider_Response__c, and a lookup to the Opportunity representing the original booking. Salesforce has no native review/rating construct — this custom object preserves your review history for reporting after migration.

BookingKoala

Referral

maps to

Salesforce Sales Cloud

Custom Object: Referral__c

1:1
Fully supported

Referral__c captures the referring customer and the referred customer's Contact record, credit amount, and referral status. BookingKoala's referral credit logic has no Salesforce equivalent — the custom object preserves the credit history; your admin rebuilds the credit application logic in Salesforce Flow.

BookingKoala

Campaign

maps to

Salesforce Sales Cloud

Campaign

1:1
Fully supported

BookingKoala email campaigns migrate to Salesforce Campaign records with campaign type, status, scheduled date, and audience count. Campaign member associations (which customers received which campaign) migrate as Campaign Member records. Email templates and automation logic do not migrate — exported as a PDF rebuild reference for your Salesforce admin.

BookingKoala

Checklist

maps to

Salesforce Sales Cloud

Custom Object: Checklist__c

1:1
Fully supported

Checklist__c captures job subtasks, completion status, notes, and job media references linked to the Opportunity representing the original booking. BookingKoala's admin and staff checklist subtasks persist as Checklist_Item__c records or as a serialized custom text field depending on the volume of subtask data per booking.

BookingKoala

Coupon

maps to

Salesforce Sales Cloud

Custom Object: Coupon__c

1:1
Fully supported

Coupon__c stores coupon code, discount type (percentage vs. fixed), discount value, usage limits, and validity dates. Applied coupons on bookings stored as a lookup on Opportunity. The discount application logic must be rebuilt in Salesforce Flow or CPQ post-migration.

BookingKoala

Attachment / File

maps to

Salesforce Sales Cloud

Salesforce Files / ContentDocument

1:1
Fully supported

BookingKoala file attachments (job photos, signed forms, receipts) re-upload to Salesforce Files via the ContentDocumentLink model. Files linked to the Opportunity (booking) and Contact (customer/provider) records. Salesforce's 25MB per-file limit applies — files exceeding this are flagged before migration for manual handling.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

BookingKoala logo

BookingKoala gotchas

High

No public API — all migration relies on CSV exports

High

Provider count is capped at 50 on Premium plans

High

Multi-industry setup has no export path

Medium

CSV exports are date-range filtered and flat

Medium

Booking time logs export separately from booking records

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • BookingKoala API exports flat CSV — Salesforce requires relational foreign-key resolution

    BookingKoala's export tool generates flat CSV files where each row contains customer name, provider name, and booking details in a single record. Salesforce's relational model requires Accounts to exist before Contacts, and Contacts to exist before Opportunities. We resolve BookingKoala's denormalized export into a dependency graph, load Accounts and Contacts first, then match customer_id and provider_id foreign keys to the newly created Salesforce IDs before loading bookings as Opportunities. Circular references (providers who are also customers) are flagged and resolved manually before migration runs.

  • Provider records require a Provider_Role__c distinction since BookingKoala and Salesforce share Contact differently

    BookingKoala separates customers and providers into distinct UI sections. Salesforce uses one Contact object for both — the same table stores the person you bill and the person who delivers the service. We add a Provider_Role__c custom pick-list to every Contact record migrated from the Provider object, marking it as Provider. Customer records from BookingKoala omit this field. This allows Salesforce reports and list views to filter by role without relying on complex cross-object logic. Your admin should create a separate Contact List View for Provider records after migration.

  • Invoices and payments need custom objects — no native Salesforce billing object exists at Sales Cloud tier

    Salesforce Sales Cloud does not include a native invoice or payment object — those require Revenue Cloud or a custom Invoice__c / Payment__c object. If your BookingKoala setup has hundreds of invoices per month, we recommend creating Invoice__c with Invoice_Status_BK__c and linking it to the Opportunity via Booking_Lookup__c. Payment records follow the same pattern. This keeps your Salesforce org clean and avoids creating a full billing object schema if your accounting needs are simple. If you need full quote-to-cash, Salesforce CPQ and Revenue Cloud handle that post-migration.

  • BookingKoala automations and Zapier workflows do not migrate — they must be rebuilt in Salesforce Flow

    BookingKoala's email campaign automations, SMS reminders, Zapier triggers, and referral credit logic are application-layer constructs stored in BookingKoala's database, not as data records. There is no export format that preserves the automation logic. We can export your BookingKoala workflow definitions as a structured PDF that lists trigger conditions, actions, and timing — your Salesforce admin uses this as a rebuild reference for Salesforce Flow. Automations that depend on BookingKoala-specific objects (like applying a referral credit when a review is received) must be redesigned since the trigger events live in different systems.

  • Multi-location bookings generate one Opportunity per location — address resolution requires planning

    BookingKoala supports multi-location bookings where one booking appointment can span several service addresses. Salesforce Opportunities have a single shipping address field. If your BookingKoala setup uses multi-location bookings, each location generates a separate Opportunity record with Service_Location_BK__c set to the specific address. This means a 3-location booking becomes 3 Opportunities — your admin should review reporting requirements before migration and decide whether to consolidate via a custom parent Opportunity or accept the per-location split.

Migration approach

Six steps for a successful BookingKoala to Salesforce Sales Cloud data migration

  1. Extract and profile BookingKoala data

    We connect to BookingKoala via API or CSV export using your provider credentials and pull all standard objects: customers, providers, bookings, invoices, payments, reviews, referrals, campaigns, and checklists. A data audit flags duplicates, missing required fields for Salesforce Contact/Account insertion, and any BookingKoala-specific fields that require custom object or custom field creation. The audit output is a migration scope document with record counts per object and a custom field manifest for your Salesforce admin to create before data loads begin.

  2. Create Salesforce schema: custom objects and fields

    Your Salesforce admin (or our team) creates the custom objects and __c fields identified in the scope document: Industry_BK__c, Opportunity_Status_BK__c, Provider_Role__c, BookingKoala_ID__c, Duration_Minutes_BK__c, Invoice__c, Payment__c, Review__c, Referral__c, Checklist__c, Coupon__c, and all lookup fields. We deliver a setup plan with exact field types, pick-list values, and object relationships so the schema is ready before any data is loaded. Salesforce validation rules and required-field constraints are suspended during migration to allow all records to insert.

  3. Resolve foreign keys and owner mapping

    BookingKoala exports contain customer names and provider names as plain text, not Salesforce IDs. We resolve these against the migrated Contact records by email match — BookingKoala customer email must match the migrated Contact.Email, and provider email must match the migrated provider Contact.Email. Any unmatched owner or provider is flagged before migration with a fallback owner assignment (a designated Salesforce User you specify). No Opportunity inserts without a resolved AccountId and OwnerId to avoid Salesforce sharing-rule violations.

  4. Run sample migration with field-level diff

    A representative slice migrates first — typically 100–500 records spanning customers, providers, bookings across multiple industries, a handful of invoices and reviews, and one campaign. We generate a field-level diff report comparing source values against the Salesforce record values so you can verify that customer status maps correctly, industry pick-list values are set, provider roles are assigned, and booking-to-Opportunity relationships are intact. You approve the sample before the full migration commits.

  5. Execute full migration with delta-pickup cutover

    Full data load runs in Salesforce using Bulk API 2.0 for high-volume objects (Contacts, Opportunities) and REST API for custom objects with complex relationships. A delta-pickup window of 24–48 hours after the initial load captures any bookings, payments, or customer records created or modified in BookingKoala during the cutover window. An audit log records every insert, update, and skip. One-click rollback reverts all Salesforce changes to the pre-migration state if reconciliation identifies critical data discrepancies. You validate the final record counts against BookingKoala exports before go-live.

Platform deep dives

Context on both ends of the pair

BookingKoala logo

BookingKoala

Source

Strengths

  • Quick-launch all-in-one setup with a built-in customer and provider portal, removing the need to buy and integrate separate scheduling tools.
  • Multi-industry architecture supports multiple service verticals within a single account, appealing to growing businesses with diverse offerings.
  • Multi-location support on Premium plans enables a single account to manage operations across several physical sites.
  • Zapier integration extends automation beyond native features, allowing small teams to connect BookingKoala to third-party accounting, CRM, and marketing tools.
  • Customer and provider data export via CSV from the admin dashboard, enabling basic data portability without developer involvement.

Weaknesses

  • No public API for programmatic data access — all migration and integration work relies on UI-based CSV exports with date-range filters.
  • Premium plan caps at 50 providers, which blocks mid-sized service businesses from growing within a single account.
  • Industry, booking form, and checklist structures have no export path and must be manually rebuilt at the destination.
  • Email-only support creates response delays that frustrate businesses with urgent operational or migration-blocking issues.
  • Advanced features including SMS notifications, automatic review requests, gift cards, and multi-industry pricing are gated behind the Premium tier, increasing total cost as needs grow.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across BookingKoala and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    BookingKoala: Not publicly documented.

  • Data volume sensitivity

    B

    BookingKoala doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your BookingKoala to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about BookingKoala to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during BookingKoala to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your BookingKoala to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most BookingKoala-to-Salesforce migrations complete in 48–72 hours of clock time for under 50,000 records. Larger setups with 500k+ records across custom objects (Invoice__c, Review__c, Checklist__c) extend to 5–7 days. The longest planning step is Salesforce schema setup — creating custom objects and fields before data loads — which typically takes 1–3 business days depending on object count. Migration execution itself runs overnight or over a weekend to minimize operational disruption.

Adjacent paths

Related migrations to explore

Ready when you are

Move from BookingKoala.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day