CRM

Reconcile duplicate Attio companies against Stripe by domain

Scans Attio companies on a schedule, fuzzy-matches their domains to one another and to Stripe customers.

CategoryCRM
Enginesim
Difficultyintermediate
Triggerschedule
Steps7
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionFetch all companies from AttioAttio
  • LogicNormalize domains and fuzzy-group duplicates
  • ActionMatch groups to Stripe customers by domainStripeStripe
  • LogicPick canonical keeper or flag ambiguous
  • ActionWrite merge plan to Postgres tablePostgreSQLPostgres
  • OutputPost merge plan summary to SlackSlack

What it does

Finds Attio company records that are almost certainly the same business (e.g. "acme.com" and "www.acme.io", or two records for the same parent domain) and cross-references them against Stripe customers so billing and CRM agree on one canonical company.

When to use it

Run this when your Attio workspace has accumulated duplicates from form fills, imports, and sales reps creating records by hand, and you want a safe, reviewable cleanup rather than a blind auto-merge.

How it works

On a nightly schedule the workflow pulls all Attio companies and normalizes each domain (strips www, lowercases, collapses common TLD variants). A fuzzy-match step groups records whose normalized domains exceed a similarity threshold. Each candidate group is checked against Stripe customers by email domain to pick the record tied to active billing as the canonical keeper. Groups with a confident single keeper are written to a Postgres reconciliation table as an approved merge plan; ambiguous groups are flagged for human review. A summary of proposed merges and conflicts is posted to Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect AttioReal-time CRM with structured data + powerful views.
  2. 2
    Connect StripeCustomers, subscriptions, payments.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.