Schedule a whole book of business in one pass
Add Service in Bulk applies one job template to many service locations at once. It's the fastest way to get a freshly imported customer book scheduled — importing customers creates customers and service locations, but imports never create jobs. This screen is how those pools get service without creating jobs one at a time.
Add Service in Bulk is available any time — not just during onboarding. The Jobs page shows a banner counting pools with no service scheduled ("N of M pools have no service scheduled") that links straight to it.
Where to find it

- Add Service in Bulk in the dashboard (under Jobs).
- The Add Service in Bulk button on the Jobs page banner ("N of M pools have no service scheduled").
- Job Templates → Apply to pools.
- The command palette: press cmd+K and search "Add Service in Bulk".
How to create the jobs
- 1Pick the job template to apply at the top. If you don't have one yet, create it first — a name, rate, billing mode, and task checklist. See Create jobs.
- 2Check off the service locations that should get that service. There's a search box and a select-all for the current filter, and a progress bar tracks how many customers already have service scheduled.
- 3Override the rate, preferred day, preferred technician, or visits per week (1–5×, for pools serviced multiple times a week) on any individual row. Editing a row auto-checks it.
- 4Customers with no service address show an Add service location button that opens an address form inline — no need to leave the page.
- 5Click Create N jobs to build them all from the template at once.
- 6Repeat with another template until nothing is left. A Create a one-off job link covers pools that don't fit any template.
Coming from an import? It arrives pre-filled
If you imported a customer file that also carried service details — what you charge, flat monthly vs per visit, how often, which day, which technician — those pools arrive already checked with their rate, day, technician and visits per week filled in, under a green banner counting how many were pre-filled. Review the table, change anything that looks off, and create the jobs. Nothing was scheduled or billed before this step.
- No job template yet? Build the template from my file creates one from what the import saw — weekly vs every other week, flat monthly rate vs per visit, and a representative rate. Each pool keeps its own rate as a row override.
- Technicians are matched by name, including first-name-only and last-name-only matches when they are unambiguous. Two people who could both be the match are never guessed between. Names from the file that no one on your team answers to are called out in the banner with a link to add them.
- Once the jobs are created, the pre-fill is used up and the banner stops appearing for those pools.
Then put the jobs on routes
Bulk-created jobs still need to be assigned to routes. Open the Route Builder and use Auto-Assign to place everything automatically — see Build and optimize routes.
Frequently asked questions
Why don't my imported customers have any jobs?
Spreadsheet and QuickBooks imports create customers and service locations only — never jobs. Add Service in Bulk is the follow-up step that schedules their service.
Can different pools get different rates from the same template?
Yes. The template sets the default, and each row can override the rate, preferred day, preferred technician, and visits per week individually before you create the jobs.
What about a pool that doesn't fit any of my templates?
Use the "Create a one-off job" link on the page to set that pool up individually.