DATA OPS

Reverse-ETL Salesforce Row-Landing Verifier

After each reverse-ETL sync run, compares the warehouse source rows against what actually exists in Salesforce, flags records that never landed.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires after nightly sync window
  • ActionQuery Snowflake for source rows in latest batchSnowflakeSnowflake
  • ActionQuery Salesforce records by external IDSalesforce
  • LogicDiff source vs destination, find missing IDs
  • LogicBranch only if drops detected
  • OutputPost reconciliation summary to SlackSlack

What it does

Confirms that rows your reverse-ETL job pushed from the warehouse actually arrived in Salesforce. It pulls the set of source rows that the sync claimed to write, queries Salesforce for the matching object records by external ID, and computes the difference. Any source row with no corresponding Salesforce record is reported as a drop, with its external ID and the timestamp of the sync batch.

When to use it

Use it when you run a scheduled reverse-ETL sync (e.g. nightly account or lead pushes) and need independent proof that the destination received every row, not just that the sync tool reported success. Sync tools report API acknowledgements, not durable landing; this catches silent drops from validation rules, dedupe merges, or partial batch failures.

How it works

  1. 1A schedule fires after the nightly sync window closes.
  2. 2Query Snowflake for the source rows in the latest sync batch, returning their external IDs and a row hash.
  3. 3Query Salesforce for records whose external ID matches the batch set.
  4. 4Diff the two sets to find source IDs missing from Salesforce.
  5. 5If any are missing, format a reconciliation report listing dropped IDs and counts.
  6. 6Post the summary to Slack so the data team can requeue the drops.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect SalesforceAccounts, opportunities, cases.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.