FabricFabricAirlift
Source systems

Salesforce to Databricks

Govern Sales Cloud, Service Cloud, and Marketing Cloud entity ingestion and customer-data modernization.

Salesforce to Databricks

Airlift makes Salesforce ingestion auditable as a migration: scope standard and custom objects, relationships, history, files, deletes, reports, and activations; track the connector cursor and restart; validate the resulting customer data product; then switch consumers in governed waves.

fa source inspect salesforce
fa source plan salesforce --variant salesforce_sales_service
fa source plan salesforce --variant salesforce_marketing_cloud --json

Developer workflow

  • Feed object, field, relationship, history, file, and consumer metadata into the assessment adapter. Record only immutable artifact references.
  • Register entities and custom transformations as migration objects. Polymorphic relationships, formulas, encrypted fields, large binaries, and Marketing Cloud data extensions remain explicit residue until dispositioned.
  • Run the admitted connector or bulk API route and return snapshot ID, replay cursor, deletion handling, restart checkpoint, and lag observations.
  • Validate object counts, relationship integrity, history, deletes, and accepted funnel or service metrics with an independent provider run.
  • Mint certificates only after the assigned profile passes. Cut over reports, activations, and applications through a frozen wave with rollback.

Target modernization can include Lakeflow Connect, Unity Catalog, Delta customer-360 products, Databricks SQL, and feature tables. It is tracked after baseline certification so redesign does not weaken the migration claim.

The pack is cataloged; live connector availability is not itself Airlift certification.

Complete developer command sequence

Generate this exact recipe from the installed CLI so the guide and executable surface stay in sync:

fa source recipe salesforce
fa source recipe salesforce --variant salesforce_sales_service --json > .airlift/salesforce-recipe.json

The App is engagement-aware. Salesforce appears under Active sources only after the source estate is added to an active engagement. The menu is derived from governed engagement scope; installing Airlift does not expose unrelated source pages.

Every remote mutation below requires --host, --org, authenticated workspace identity, and a stable --idempotency-key. JSON request files contain identifiers, artifact references, and opaque credential references—never passwords, tokens, or connection strings. Run fa <resource> <operation> --help for the current schema and exit semantics.

0. Inspect the source contract

fa source inspect salesforce --json > .airlift/salesforce-profile.json
fa source plan salesforce --variant salesforce_sales_service --json > .airlift/salesforce-capability-plan.json

Expected artifacts:

  • .airlift/salesforce-profile.json
  • .airlift/salesforce-capability-plan.json

Open Engagements → active engagement in the App. This stage is visible at /engagements after replacing the placeholder ID with the governed engagement ID.

1. Create governed scope and connection references

fa engagement create --file engagement.json --idempotency-key migration-create-v1
fa estate register --file salesforce-estate.json --idempotency-key salesforce-estate-v1
fa connection register --file salesforce-connection.json --idempotency-key salesforce-connection-v1
fa engagement update --file salesforce-scope.json --idempotency-key salesforce-scope-v1
fa engagement preflight <engagement-id>

Expected artifacts:

  • Governed engagement
  • Source estate
  • Opaque connection binding

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id> after replacing the placeholder ID with the governed engagement ID.

2. Assess and accept inventory

fa assessment start --file salesforce-assessment-start.json --idempotency-key salesforce-assessment-start-v1
fa assessment status <assessment-id> --json
fa assessment record --file salesforce-assessment-record.json --idempotency-key salesforce-assessment-record-v1
fa assessment accept --file salesforce-assessment-accept.json --idempotency-key salesforce-assessment-accept-v1
fa inventory list --estate-id <estate-id> --json

Expected artifacts:

  • Assessment report reference
  • Normalized inventory
  • Dependency graph

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/sources/salesforce after replacing the placeholder ID with the governed engagement ID.

3. Implement the admitted source adapter

No source-specific executable compiler exists in this release. Continue with assessment, governed work, and an admitted adapter; Airlift does not invent executable output.

Expected artifacts:

  • Capability plan and adapter requirements only

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/artifacts after replacing the placeholder ID with the governed engagement ID.

This source is cataloged or assessable but has no source-specific executable compiler in the installed Airlift generation.

4. Convert, move, and remediate

fa plan generate --file salesforce-migration-plan.json --idempotency-key salesforce-plan-v1
fa conversion batch create --file salesforce-batch.json --idempotency-key salesforce-batch-v1
fa conversion batch start --file conversion-batch-start.json --idempotency-key conversion-start-v1
fa residue list --engagement-id <engagement-id>
fa transfer plan --file salesforce-transfer.json --idempotency-key salesforce-transfer-v1
fa transfer run <transfer-id> --idempotency-key transfer-run-v1
fa transfer reconcile <transfer-id> --idempotency-key transfer-reconcile-v1

Expected artifacts:

  • Target artifacts
  • Residue cases
  • Transfer checkpoints
  • Reconciliation evidence

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

5. Validate independently and inspect discrepancies

fa validation run --file salesforce-validation.json --idempotency-key salesforce-validation-v1
fa validation status <validation-execution-id> --json
fa discrepancy list --engagement-id <engagement-id>
fa artifact list --engagement-id <engagement-id>

Expected artifacts:

  • Provider run references
  • Readiness evidence
  • Discrepancies

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

6. Certify, cut over, and export evidence

fa certificate list --object-id <object-id>
fa cutover status <wave-id> --json
fa evidence list --engagement-id <engagement-id>
fa evidence export --file salesforce-evidence-export.json --idempotency-key salesforce-evidence-export-v1

Expected artifacts:

  • Migration certificates
  • Cutover evidence
  • Content-digested evidence export

Open Engagements → active engagement in the App. This stage is visible at /assurance after replacing the placeholder ID with the governed engagement ID.

Runway executes releases; Experiments owns validation verdicts; Airlift owns migration readiness and cutover policy.

What developers see in the App

The contextual source workspace shows the accepted estate and the factory stages for this engagement. Artifacts displays immutable references, content digests, media types, and provider lineage. Runs displays assessment, conversion, transfer, validation, and deployment executions without treating a provider's success as an Airlift verdict.

Salesforce has its own engagement-scoped workspace; unrelated source systems are not shown.

What you are seeing

This public synthetic capture demonstrates Airlift setup and navigation for Salesforce; it is not evidence of a live connection or certified migration.

What to do next

Register the client estate, bind a credential reference, run the Salesforce assessment recipe, and admit the resulting evidence.

Read the developer workflow

These are automated captures from public synthetic engagements. The source workspace is specific to Salesforce; no unrelated source is presented as its migration journey. For sources without an evidence-backed journey, the image demonstrates setup, navigation, and developer entry points only—not a live connection, converted output, or certified migration. No client data, credentials, workspace hostnames, or internal deployment identifiers are embedded in the images.

On this page