Why do I ask for a CRM export before I quote an automation project?
Because the data decides the price more than the workflow does. A routing or enrichment automation that looks simple on a call can double in effort once I see duplicate records, empty fields, and five spellings of the same country. A small export shows me that before I commit to a fixed fee.
I price projects on a fixed fee, and most of my projects land between $1,000 and $10,000. Fixed fees are better for clients, because they know the cost upfront. But they put the risk of a bad estimate on me. Over 6+ years and 100+ projects for 25+ clients, the most reliable way I have found to reduce that risk is to look at real data before I quote.
This is what I ask for, what I look at, and why it changes the conversation for both sides.
What exactly do I ask for?
I ask for a sample export of the records the automation will touch, usually a few hundred contacts, companies, or deals from HubSpot, Salesforce, Pipedrive, or Airtable. I want the real fields with real values, not a cleaned up example. Sensitive columns can be removed or masked, as long as the structure stays intact.
The request is specific so it does not feel like a fishing trip. If the project is lead routing, I ask for recent leads with the fields that would drive routing: country, company size, source, owner, and lifecycle stage. If it is enrichment, I ask for the company and contact fields we plan to fill. I never ask for more than the job needs.
I also ask for the list of properties or fields in the system, even the ones nobody uses. That list often tells me more than the records. A CRM with 400 custom properties, half of them abandoned experiments, is a very different project from one with 40 well named fields.
What does the export tell me that a discovery call cannot?
A discovery call tells me how the team thinks the system works. The export tells me how it actually works. The gap between those two stories is where scope creep lives. Duplicates, inconsistent values, missing owners, and fields used for three different purposes rarely come up on a call, because people do not see them anymore.
On a call, someone might say "we route by region." In the export, I find the region field filled in for a fraction of records, three different labels for the same region, and a separate free text location field that sales actually uses. The routing logic is no longer one rule. It is a cleanup job, a mapping table, and then a rule.
None of this means the team was wrong or careless. Every CRM collects this kind of drift over time. It just means that a quote based only on the call would have been too low, and I would either eat the difference or come back asking for more money halfway through. Neither is a good outcome.
What do I look for in the data?
I check four things: how complete the key fields are, how consistent the values are, how many duplicates exist, and whether ownership is clear. Each one maps to work. Low completeness means enrichment or defaults. Inconsistent values mean normalization. Duplicates mean merge rules. Unclear ownership means a conversation before any automation.
Completeness is the quickest to measure. I count how many records have a value in each field the automation depends on. If the routing field is mostly empty, the automation needs a fallback or an enrichment step first. That is a different price.
Consistency takes a little longer. I sort each key field and read the unique values. Country fields are the classic example, with full names, codes, and typos all mixed together. Job titles are worse. If the automation needs to act on those values, I have to plan the mapping, and that work belongs in the quote.
How does the export change the quote?
It lets me price the real job instead of the hoped for job. Sometimes the data is clean and the quote comes in lower than the client expected. Other times it adds a clearly scoped cleanup phase before the automation itself. Either way, the client sees exactly why the price is what it is.
I write the findings into the proposal in plain language. Something like: "The region field is filled in on about half of recent leads and uses several labels for the same region. Before routing can work reliably, we will normalize these values and add a fallback." That sentence justifies a line item and shows the client I looked properly.
This also helps clients decide what not to do. Sometimes the export shows that the data needs work before any automation makes sense. In that case I say so, and the first project becomes data cleanup, not automation. I would rather sell a smaller honest project than a bigger one that fails because the foundations were weak.
Do clients push back on sharing data before a contract?
Some do, and that is reasonable. I offer a mutual NDA, ask for masked or removed sensitive columns, and limit the request to a small sample. If a client still cannot share any data, I quote with a clearly stated assumption about data quality and a paid discovery phase to confirm it before the main build starts.
The request is usually a good sign for a client. It signals that the build will be based on their actual system. Anyone who has been through a failed automation project will likely recognize why it matters, because those projects tend to break on exactly the data issues nobody checked.
It pairs naturally with the other thing I ask for early. I explained in why I ask for access before I send a proposal how a quick look at the tools themselves shapes the plan. The export is narrower. It is about the records, not the setup, and it can be shared even when account access cannot.
What goes wrong when you quote without looking at the data?
The workflow looks right on a call, so the estimate looks right. Then the build starts, and the data turns a two step automation into a project with a cleanup phase nobody priced. Someone absorbs that difference, either the builder through unpaid hours or the client through a change request.
The deeper mistake is assuming the CRM is the source of truth. In many teams, the real source of truth is a spreadsheet a sales lead keeps on the side, or a set of habits that never made it into fields. The export, combined with a question about what lives outside the CRM, surfaces that early.
The export protects the relationship, not just the margin. When a fixed fee project goes over because of hidden data issues, both sides end up frustrated. When the data issues are named upfront, the client chooses whether to fix them, and the project stays a shared decision instead of a surprise.
How does this connect to how I scope automation work?
The export is one part of a broader rule: scope from evidence, not from descriptions. Before I build, I want to see the data the automation reads, the reports it should feed, and who owns the system afterward. Each one changes the design, and each one is cheaper to discover before the quote than after.
The reporting piece matters as much as the data. If nobody knows what the automation should produce for leadership, the build has no finish line. I wrote about that in why I scope the reporting before the automation. The export tells me what goes in, and the reporting scope tells me what should come out.
Ownership is the last piece. If the export shows a CRM nobody maintains, the automation will decay no matter how well I build it. That is why I turn down projects without a clear CRM owner, which I explained in why I turn down projects without a CRM owner.
What should you do next?
If you are planning an automation project, pull a small export of the records it will touch before you talk to anyone about building it. Check how complete and consistent the key fields are. You will either confirm the project is ready, or find the cleanup work that needs to happen first.
My view is simple. The cheapest hour in any automation project is the hour spent reading the data before the quote. It protects the client's budget, it protects the build, and it keeps a fixed fee honest for both sides.
If you want a second pair of eyes on your CRM data before you scope an automation, or you want a fixed fee quote based on what your system actually looks like, reach out. Let's chat about what your data is ready for.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.