Every sale creates a setup job
A new customer signs. Then the real work starts. They send a spreadsheet of their clients, products or sites. Someone on your team cleans it up and imports it with a script. Someone else configures their settings, sets up their users, adds their logo and creates their templates. It takes a while, and the customer cannot do anything useful until it is done.
At first this felt like good service. Now each new customer adds to a queue, the queue slows down onboarding, and growth is limited by how many setups your team can handle.
Why setup stays manual
Early customers were onboarded by the founders, and the setup steps were things the team knew how to do in the database or with a script. They were never turned into product screens, because each customer seemed slightly different and there were more urgent features to build.
- Imports rely on a script only developers can run.
- Customer spreadsheets arrive in different formats and need cleaning.
- Configuration options exist in the database but not in the interface.
- Nobody has listed which setup steps are common and which are truly custom.
- There is no way for a customer to see what is left to do.
What manual setup costs
| Cost | Effect on the business |
|---|---|
| Time to value | Customers wait before they can use what they bought |
| Team capacity | Growth is capped by how many setups you can do |
| Developer time | Imports and fixes pull engineers off the product |
| Self-serve impossible | You cannot sell to smaller customers profitably |
| Errors | Mistyped settings and bad imports cause early frustration |
The early experience matters most. A customer who waits to get going and then finds their data imported wrongly starts the relationship doubting the product.
How we make setup self-serve
- List every setup step. We go through recent onboardings and record each step, who did it, and whether it was the same for every customer.
- Separate common from custom. Common steps become product features. Genuinely custom work stays as an assisted service, priced and planned as such.
- Build a guided setup flow. A checklist inside the product that walks the customer through the steps in order, shows progress and lets them come back later.
- Build importers. Customers upload their spreadsheet or CSV, map their columns to your fields, see a preview with problems highlighted, and fix them before import.
- Connect to their existing tools. Where their data lives in a common system, an integration pulls it in directly instead of via a spreadsheet.
- Expose configuration. Settings that only existed in the database get proper screens, with sensible defaults.
- Keep an assisted route. For large accounts, your team uses the same tools on the customer's behalf, with an admin view of setup progress across all new accounts.
Where it helps, AI can suggest column mappings or clean messy entries during import, with the customer confirming the result rather than it being applied silently.
After the change
The setup checklist also gives you a view you did not have before: which step new customers get stuck on. If most accounts stall at the import, that is where to improve next, and you can see it without asking anyone.
Most customers set themselves up, at their own pace, and start getting value sooner. Your team spends its time on the accounts that need a human, rather than on routine imports. Developers are no longer the import service. And smaller customers become viable, because setting them up no longer costs you a person's time.
Is onboarding a bottleneck for you?
- Every new customer needs your team to set up their account.
- Customer data is imported by developers using scripts.
- Some settings can only be changed in the database.
- New customers wait before they can use the product.
- You avoid smaller customers because setup costs too much.