Prepared For
Angela
6 Degrees Media

Run it on your list first.

The TAL build, automated, for 6 Degrees Media
Prepared ForAngela Horvat
6 Degrees Media
Prepared ByAamir Bajwa
Independent Contractor
Date11 September 2026

Angela,

Thanks for the last six, and for sending the Melbourne list. Every question is answered here, the test you asked for is the first piece of work, and I have set out where every hour goes and why.

The problem.

Five things your brief and your questions told me. Every event, three teams build the list by hand. The second problem is why fixing that is worth the effort.

Problem 01
Your Producers are the machine
Your words: "reduce a number of manual processes currently undertaken across our Conference Production, Marketing and Data teams." Company matching, executive search, gap analysis, mover detection, deduplication and the Salesforce upload, all by hand, for every event. That cost never appears on an invoice, which is why it never gets fixed.
Problem 02
Your Salesforce will break the matching before we start
Your words: "we would want it sent to REVIEW rather than automatically creating a potentially duplicate Account." CBA against Commonwealth Bank, Pty Ltd against Ltd, a department against its agency, a parent against a subsidiary. An exact match cannot separate any of them, and matching against a messy account base means every list inherits the mess.
Problem 03
There is no undo in Salesforce
Your words: "certain information is never overwritten." What gets written and what must be protected are the same worry twice. Once a record is created or updated there is no undo, by me or anyone. Any process that writes first is one bad run from real damage.
Problem 04
Movers destroy the history you paid for
Your words: "how do we retain the person's previous company/history rather than simply overwriting useful historical information?" Today a mover either becomes a duplicate or overwrites the old record, and the event and campaign history splits in half. For a conference business that history is the asset.
Problem 05
You want to see it work before you commit
Your words: "just let us know the most practical way to structure the test and any associated cost." The right ask, and you have already sent the October Melbourne list. The honest constraint is that the comparison needs the real workflow to exist, so the test is the first paid piece of the build rather than a free run in front of it. You still see it work before anything touches your live Salesforce.

The fix.

Five fixes, one per problem, in the same order.

Solution 01
A workflow your Producers own
Yours permanently. Five thousand companies runs in under ten minutes, and a Producer spends about ten: drop the file in, set the criteria, run, approve. Titles and seniority are filters they change per event. Plus a Loom so anyone can pick it up.
Solution 02
Account matching that says uncertain
Four layers before any Account is created: ABN or NZBN, root domain, a normalised name that strips Pty Ltd and Limited, then an AI comparison for the CBA, department and subsidiary cases. It answers same company yes, no or uncertain. Uncertain goes to REVIEW, never to a new Account.
Solution 03
The gate sits before the write
One row per person with CREATE, UPDATE or SKIP, the current value beside the proposed one, and a tick box. Approve individually or in bulk. Salesforce only runs on ticked rows, and only fields you name can ever be written.
Solution 04
Movers flagged, history kept
Marked for review with old company beside new, and a Producer decides. Approved, the existing Contact is updated rather than duplicated. Salesforce can hold both companies with dates if Contacts to Multiple Accounts is switched on in your org.
Solution 05
The proving run is piece one
The core workflow built first, then your Melbourne list run through it in your sandbox with nothing written to production. You get a Loom of the whole run and the side by side comparison you listed, before you decide on anything else.

How it runs.

A cleanup pass on your existing accounts, then eight stages that each map to a lettered section of your own brief. Nothing reaches Salesforce until a Producer has ticked it.

Your TAL Salesforce 0ABCDEFGH Account cleanupCompany matchExecutive searchGap analysisMissing researchMover detectionDeduplicationEnrichmentApproval gate

The proving run covers A to D, F and G on your Melbourne list, in the sandbox. The two gates are the ones that matter: stage zero cleans what everything else matches against, and the gate at H is where a person ticks a row before it can be written, because there is no undo after.

The proof.

I have built this shape of system on Salesforce, HubSpot and Pipedrive. The first two below are the closest to yours, and I can walk you through either on a call.

Some of the teams I have built this for
Brink's
Oyster HR
Origin
Energea
Hiline
Arist
Same shape as yours
Brink's
Brink's
NYSE listed, about $5B in revenue, operating in 100+ countries. I built the same shape of system you are asking for, on Salesforce: company matching, executive search, gap analysis, deduplication, enrichment and the write back. Every account scored before it reaches a rep. A six month engagement is now twelve.
  • 76 SDR appointments tagged to my work in their own Salesforce
  • $3M+ in pipeline credited to my outbound
  • Ranked third of twenty lead sources
  • 24,244 sends at 98.7 percent delivered and 0.95 percent hard bounce
Also Salesforce
Oyster HR
Oyster HR
A $1.2B global employment platform running Salesforce and HubSpot. A signal based outbound engine built on Clay, with the qualification logic and automated account routing. Four months, renewed twice, into twelve months and beyond.
Also
Origin
Origin
Financial wellness platform backed by more than $70M, on Salesforce, with clients including DocuSign, DraftKings, Chime and the NBA. More than 13,000 contacts enriched across 4,900+ accounts per quarter, flowing into their sequences each week.

Also Tearsheet, the closest thing here to your world: around 80 meetings from one campaign targeting Money20/20 attendees. Nice Shoes, about 40 meetings in one quarter. Energea, BioStar Renewables, Hiline, Finimize, Montara, Settle, Arist, Open, and more than 50 B2B teams in total. Meetings booked with senior decision makers at Apple, Meta, Airbnb, Visa, Mastercard, Stripe, CVS Health and Business Insider.

Certified on the tools this runs on
Clay
Smartlead
HeyReach Certified Expert

Certified Clay Solutions Partner, top 10 percent worldwide, with $100K in revenue referred to Clay in twelve months and Clay implemented for more than 20 growth stage teams. Certified Smartlead Expert. HeyReach Certified Expert. Instantly Partner. Better Contact Partner. Prospeo Partner.

Your final six.

Answered in your order. One of them, the test, changes how the work is structured, so it is the last card and the first piece of the build.

Question 01
Australia and New Zealand coverage
Firmable covers both, and I undersold it last time. It sits on ASIC in Australia and the Companies Office in New Zealand, and maps ABN and NZBN onto the company record. Inside Clay the Firmable contact lookups are Australia only, so New Zealand company data comes through Firmable directly. Same provider, different route in. The same workflow runs for both markets, with the global providers behind it in the waterfall for anything else. New Zealand direct dials are genuinely harder to source than Australian ones, and I would rather say that now than in month two.
Question 02
Account matching and duplicate prevention
Yes, the same protection applies at Account level, before any Account is created. Four layers, most reliable first. ABN or NZBN, a register number that survives rebrands and trading names. Root domain, so www.acme.com.au/contact and acme.com.au become one key. A normalised name, with an extra cleaning rule because Clay's default normaliser does not reliably strip Pty Ltd and Limited. Then an AI comparison for the cases you list: CBA against Commonwealth Bank, a department against its agency, a parent against its subsidiary. It returns same company yes, no or uncertain, with the evidence it used, and it is instructed to say uncertain rather than guess. Uncertain goes to REVIEW. It never creates an Account.
Question 03
What REVIEW and MISSING look like for your team
Every flagged row carries the reason in plain words and what to do about it. Two sources disagree on a title: confirm which. Company matched on name only: confirm the domain. No executive found after the web and LinkedIn search: search by hand or drop it. READY rows take no time. The work left is the REVIEW rows, a minute or two each, and the MISSING rows, which are a judgment call. How many of each a list produces is exactly what the proving run on your Melbourne list measures, so you see the real residual before you commit further. Kierra and Jacqui can run it. The Loom and the one page guide are written for them.
Question 04
Apollo, Wiza and the rest of the stack
You do not need both from day one. A waterfall works with one email provider plus Clay's own providers, and Firmable for the Australian and New Zealand side. The reason to keep a second one is coverage, and whether Wiza adds any is measurable rather than arguable. Every row records which provider found the person, so after the proving run and the first month of lists we cut on evidence. My recommendation: keep Apollo, connect Wiza for the proving run while you still have it, and drop whichever one is not earning its place. PhantomBuster comes out regardless. Clay Growth is the one new subscription, because it is the first tier with the Salesforce integration.
Question 05
The run summary sheet
In, as an optional line item. Every run writes its rows to a Google Sheet and a summary tab shows, per TAL: accounts supplied, matched and requiring review. Gaps and missing accounts. Executives found. Existing versus new Salesforce Contacts. Updates recommended. Duplicates identified. REVIEW and MISSING records. Enrichment and verification failures. It is small, estimated before it starts, and it is the version I would build before any dashboard.
Question 06
The test on your October Melbourne list
The test is in, and I have made it the first piece of the paid work rather than a free run in front of it. I want to be straight about why, because it is the practical answer to your question on cost. A cut down version run for free would give you a number that looks fine and means nothing. The comparison only means something once the real matching, search, gap research, dedupe and enrichment exist, and building those is the job itself. So the most practical structure is this: piece one builds that core, sections A to D, F and G, runs your Melbourne list through it in your Salesforce sandbox with nothing written to production, and records a Loom of the whole run from start to finish. You get the comparison you listed: coverage and accuracy, what it found that you missed, what it missed, false positives and REVIEW records, and how much manual work is left for your team. It is charged at the hourly rate because nothing in it is thrown away: the stages built for the test are the stages your Producers keep. Then you decide whether to carry on to the Salesforce write and the account cleanup, and if you would rather talk it through first, a call is easy to set up.

The earlier sixteen.

The first round of answers, cut to the point, so Kierra and Jacqui have everything in one place.

Yes. Yours permanently, and your Producers run it without me. A few hundred up to around 5,000 companies runs in under ten minutes. A Producer spends about ten minutes on a list: drop the file in, set the criteria, run it, approve at the end. One action per stage rather than one button, so when something looks wrong you can see which stage produced it.
No. It goes in as a CSV, which Excel saves in one click. A domain or LinkedIn company URL column is faster and cheaper. Company names alone also work, because stage A finds the domain and URL. Pty Ltd, Limited, all caps and two spellings of the same company are handled.
Yes. Every row carries READY, REVIEW or MISSING with a reason. Filter to the unresolved ones after any run and export them to CSV in one click for Kierra and Jacqui.
Yes. They open the people search step, change the titles for the event they are working on, and run it. Nothing is duplicated or rebuilt and no other stage is touched. I show them how on the handover Loom.
Firmable is the main one for your market, with Clay's own providers behind it. I will not invent a percentage. Every row records which provider found the person, so after the proving run you have the actual number rather than my estimate.
A table, one row per person. CREATE, UPDATE or SKIP, the current Salesforce value beside the proposed one, a confidence, a source and a tick box. Approve individually or select the clean rows and approve in bulk. The Salesforce step only runs on ticked rows.
Salesforce Record ID where you have it, LinkedIn URL, verified email, then name plus company as the last resort. LinkedIn URL carries the most weight because it survives job changes. Weak matches are flagged, never written, and every confirmed match writes the URL and Record ID back so the next run has more to match on.
Yes, all four, after your approval. One limit worth stating: campaign membership through this is add only. Removing someone from a campaign stays a manual job in Salesforce.
Flagged for review, never changed silently. Old company and title sit beside the new ones and a Producer decides. Once approved the existing Contact is updated rather than duplicated. Catching movers on a new list is part of the main build. Watching your whole database on a schedule is its own scoped workflow, and the cost scales with how many records you watch and how often.
Only the ones you name. Everything else is untouchable, including manually verified data, Account ownership and notes. Individual fields can be set to fill only when empty. I would start that list short and widen it once you trust the output.
By you, not fixed by the tool. As an example: READY means the company matched cleanly, the person was found there, and a recent source confirms they are still there. REVIEW means something did not agree. MISSING means no suitable executive was returned after the extra web and LinkedIn searches. REVIEW and MISSING never write to Salesforce.
Your own keys wherever a provider supports them. A step on your key costs an action but no data credit, and nothing when it returns no result. Apollo, Wiza and Firmable bill to credits you already own, and the AI steps run on your own key for cents. Clay credits get spent only where Clay's own providers are the best source. Run everything on Clay credits and you will overspend.
No. Once a record is created or updated from Clay, Clay cannot reverse it. That is why the gate sits before the write, and why the review table records the existing value beside the proposed one at the moment of approval. If a bad update does get through, you filter to that run and push the old values back from the log. Recoverable, just not a button.
Yes, and it is the piece that changes the scope. I am hitting exactly this on Brink's right now, where several different banks have Citizens in the name and the domains do not line up. The fix is not a cleverer match, it is cleaning the account base once. Pull your accounts into Clay, normalise the names, resolve the real domain, attach ABN or NZBN, write it back. Roughly how many accounts are in there? That number sizes it.
Surfaced for a person to approve, never merged automatically. Where two records genuinely are the same company, the merge takes the best value per field rather than keeping whichever row looks fullest. Clay does not deduplicate Salesforce for you, and the standard Salesforce duplicate rules do not apply to API writes, so the deduplication is built into the workflow itself.
Thirty days from handover, covering anything in the written scope not working as written. Anything else is hourly at the same rate: new requests, changes of scope, training, and the case where Clay, LinkedIn, Salesforce or a provider changes an API. Those changes are real, and I would rather price them honestly now than argue about them later.

What you get.

What is included

Grouped by the piece that delivers it. You approve one piece at a time, and nothing outside this list is done without you agreeing it first.

0 of 20 Delivered

The timeline.

Six to eight weeks if you take every piece, with your decision point at the end of week three. The range is there so each piece is tested on a real list before it is called done.

The proving runWeeks 1 to 3

Access and criteria confirmed. Sections A to D, F and G built and tested. Your Melbourne list run in the sandbox, the Loom recorded, the comparison delivered.

Your decisionEnd of week 3

You have the comparison and the Loom. You decide whether to carry on, and which pieces.

Salesforce write and the gateWeeks 4 to 5

Section H, the protected field list, the audit log, mover detection scoped to the contacts you name, and the approval gate in front of all of it.

Stage zero, the account cleanupWeeks 5 to 7

Import, normalise, ABN and NZBN, duplicates, golden records, review and write back. Sized once you tell me how many accounts you hold.

HandoverWeek 8

The Loom walkthrough, the one page guide, and thirty days of support begins. The last week is for testing against a second real list, not for building.

About six to eight weeks, all pieces

Your investment.

Eighty five dollars an hour, with every hour tracked on Upwork. Each piece is estimated before it starts and you can stop after any one. All pieces together, testing included, my estimate is 43 to 72 hours. It is an estimate, not a cap and not a floor: you pay for the hours recorded, and they can come in under or over.

PieceWhat it coversEstimateAt $85 an hour
1. The proving runSections A to D, F and G, the sandbox run on your Melbourne list, the Loom, the comparison16 to 24 hrs$1,360 to $2,040
2. Salesforce write and the gateSection H, protected fields, audit log, scoped mover detection12 to 18 hrs$1,020 to $1,530
3. Stage zero cleanupImport, normalise, ABN and NZBN, duplicates, golden records, write back. Sized to your account count15 to 30 hrs$1,275 to $2,550
Handover and supportLoom, one page guide, thirty daysIncludedIncluded
Run summary sheetThe optional line item from your question 5Estimated firstOptional
Estimate, all piecesThe full build, testing included43 to 72 hrs$3,655 to $6,120
Rate$85 per hour
Trackedon Upwork, visible to you as it happens
The estimatecan land under or over. You only ever pay for hours actually worked
Subscriptions and creditson your own accounts, at cost, never marked up
You can stopafter any piece, without penalty
The test
The proving run costs what the build costs, because it is the build
Nothing in piece one is a demo. The stages built to run your Melbourne list are the stages your Producers keep. If the comparison tells you to stop, you stop, and you have spent piece one finding out rather than the whole budget.
What moves the hours
Four things can push a piece past its estimate
Your account base being messier than either of us expects, which is why the cleanup is a range until you tell me the count. A provider or Salesforce changing something mid build. Access, sandbox or field lists arriving late. A stage that has to be fixed before it can be automated. Each is flagged the week it happens, with the hours it will add, before those hours are spent.
If the number needs to move
Say so, and we go through the scope together
If the estimate needs to land somewhere else, or a piece needs adding or dropping, tell me. A call is the easiest way to settle it, and I am glad to set one up with you, Kierra and Jacqui whenever suits. Trimming or deferring pieces is a short conversation, and I re estimate before anything starts. The proving run on its own is a complete first step, and nothing forces the rest.

Stage zero is the piece I would not skip. Everything else matches against your account base, so cleaning it once makes every list better.

Everything runs on Upwork as weekly fixed price milestones sized to the piece in progress, each funded before the week starts and released against the Friday update. Payment is handled on Upwork throughout, subject to Upwork's fixed price escrow terms.

Guarantee Active

Our Guarantee

|

Three further briefs sit behind this one: the EventsAir registration list cleaning, the conference PowerPoint slides and the VIP and speaker tiles. I would not put all three in Clay. Title standardisation is a small script with a human approval step, and the slides and tiles are a templating job. Quoted separately once this one is proven.

The terms.

Clause 01

Scope of Work

I will deliver the items listed under What you get, for 6 Degrees Media, piece by piece, each approved by you before it starts. Nothing outside that list is done without you agreeing it first, in writing.

Specifically outside it: a full reporting dashboard beyond the run summary sheet, the three further briefs, a purpose built approval interface instead of the Clay table, and any work on your other conference systems.

Clause 02

Payment Terms

Hourly at $85, with every hour tracked on Upwork, funded a week at a time. Estimates: the proving run 16 to 24 hours, the Salesforce write and gate 12 to 18, the account cleanup 15 to 30 once sized to your account count. All pieces together, 43 to 72 hours. These are estimates, not caps or floors: you pay for the hours recorded, which can come in under or over, and any piece heading past its estimate is flagged to you before those hours are spent.

You can stop after any piece without penalty, and scope can be trimmed by agreement before a piece starts. Subscriptions and credits are billed to your own accounts at cost.

Clause 03

What you provide

So the timeline stays honest, you provide the following.

  • Your search criteria: titles, seniority, function and location
  • Salesforce connected to Clay, including the sandbox the proving run happens in
  • Apollo connected, Wiza if you still have it, and Firmable
  • The October Melbourne list you have already sent, as the control
  • The explicit list of Salesforce fields the automation may write to
  • Roughly how many Accounts your Salesforce holds, and whether Contacts to Multiple Accounts is enabled
  • Three volumes to size the Clay plan: companies on a typical list, contacts wanted per company, lists run per month
Clause 04

Ownership and confidentiality

The workflow is yours permanently and your Producers run it without me. Your Clay account, your card, your API keys, your workspace, your data. I hold nothing.

Your client lists, your Target Account Lists, your Salesforce data and your delegate records stay confidential, and are never shared, published or reused.

Clause 05

Support and change

Thirty days from handover, covering anything in the written scope not working as written. Anything else is hourly at the same rate: new requests, changes of scope, training, and the case where Clay, LinkedIn, Salesforce or a provider changes an API.

Either side can stop at any point. Work already done and funded is not refunded, and anything not started is released back to you.

Clause 06

What I will not promise

There is no undo in Salesforce. That is why the approval gate sits before the write and why the before and after log is created at the moment of approval. Recoverable, just not a button.

I will not promise you perfect data, a match percentage or a coverage number before the proving run has produced one. Anyone who does is guessing. Accepting the Upwork contract constitutes acceptance of this proposal.

Saying yes.

Everything here runs through Upwork, so there is nothing to sign on this page and nothing to pay here.

Step 01
Tell me it is a yes
Reply on the thread, or on Upwork once the contract is up. If anything in the scope is wrong, say so now rather than later, and I will change it before we start.
Step 02
I send the Upwork contract
It carries piece one, the proving run, with the same scope, milestones and dates as this document. Payment is handled on Upwork throughout, subject to Upwork's fixed price escrow terms.
Step 03
Fund the first week and we start
Accepting the Upwork contract constitutes acceptance of this proposal. The proving run starts on your Melbourne list the day the first milestone is funded.
Aamir Bajwa · Confidential · 6 Degrees Media