MIGRATION GUIDE
How to migrate from Dubsado to AgencyPro
Dubsado lets you export contacts to CSV, which maps well to AgencyPro's client import. This guide covers what to export from Dubsado, what imports into AgencyPro by CSV (clients and services), and what you rebuild: forms, contracts and active projects.
Why agencies switch from Dubsado
A portal built around requests
Clients submit requests, approve work, download files and pay invoices in one branded portal on your own domain.
Proposals and contracts on Pro
Quotes, proposals and contracts are AgencyPro documents on the Pro plan, next to the client's requests and invoices.
Recurring services and subscriptions
Sell retainers as service subscriptions paid through Stripe or PayPal, with credit-based and hourly services on Pro.
Built for a team
Invite your team with seats priced per plan. A 3-person team on Pro is $79 + 2 x $20 = $119 a month.
Example migration timeline
DAYS 1-2
Export and plan
Export from Dubsado, count active clients and open work, and pick a cutover date at the start of a billing period.
DAYS 3-4
Import clients and services
Fill AgencyPro's CSV templates, test with a few rows, then import the full files.
DAYS 5-9
Rebuild active work and payments
Recreate open work as requests, connect Stripe or PayPal, and set up subscriptions.
DAYS 10-14
Parallel run and cutover
Invite clients, run both tools for one billing cycle, then cancel Dubsado.
Step-by-step migration process
Export your data from Dubsado
In Dubsado, open the Contacts tab and use Export CSV at the top right of the contact list, choosing which client fields to include. Download any contracts, invoices and form responses you need to keep.
Prepare your client CSV
In AgencyPro, open Imports > Clients and download the template. Every row needs a contact name, an email and an organization (company) name; the import runbook below shows which Dubsado field goes in which column. Keep each file under 1,000 rows and test with a few rows first.
Import clients
Upload the CSV under Imports > Clients, map any columns the importer did not match automatically, and check the preview. Import stays disabled until the preview shows no errors. Rows whose email is already in AgencyPro are skipped, so a corrected file can be re-run safely.
Import services
Download the template from Imports > Services and add the services you sell. Each row needs a name, a type (one_time or recurring) and a pricing type (standard, time_based or credit_based); prices go in as plain numbers. Upload, check the preview and confirm. Credit-based and hourly services need the Pro plan, and recurring services get their billing period in the service editor after import.
Connect payments and subscriptions
Connect Stripe under Payments > Stripe Connect or add PayPal, then recreate retainers as service subscriptions. Clients enter payment details again, because saved cards do not move between platforms.
Recreate active work
For each active Dubsado project, create the work as AgencyPro requests (or a project) for the client. Completed projects stay in Dubsado's exports and your saved files.
Invite your team and clients
Invite team members (each seat after the first is billed per plan), then send clients their portal invitation with a short note on where to submit requests and find invoices.
Run in parallel, then cancel Dubsado
Run both tools for one billing cycle. When new requests and payments are running in AgencyPro, save a final Dubsado export and cancel.
What moves to AgencyPro, and how
Import runbook: Dubsado to AgencyPro
AgencyPro's CSV importer takes two files: clients (Imports > Clients) and services (Imports > Services). Each has a downloadable template, and each file can hold up to 1,000 rows. Projects, tasks, files, messages, invoices, payment history, saved cards and time entries are not imported; they are set up by hand or with the migration service on the Plus plan. Where a vendor does not publish its export headers, the left column describes the data, and you match the real header in the importer's mapping step.
1. Client file
Where it comes from: Contacts tab > Export CSV (top right of the contact list). Select the fields you want included; Dubsado recommends Chrome for exports. Dubsado: export data
| From Dubsado | AgencyPro column | Notes |
|---|---|---|
| First name and Last name | name | Required. Combine into one column. |
| Email address | Required. | |
| Company name | organization_name | Required. If blank, repeat the client name. |
| Phone number | phone | |
| Company phone | organization_phone | |
| Website | organization_website | |
| Address line 1 / Address line 2 | billing_address_line_1 / billing_address_line_2 | |
| City, State/Province, Zip/Postal, Country | billing_city, billing_state, billing_postal_code, billing_country |
Rows with the same organization_name become contacts of one organization, and the first of them becomes its owner. The match is exact, so "Example Co" and "Example Co." create two organizations. Address and billing details are taken from the first row of each organization. Columns you do not map are ignored.
2. Service file
Where it comes from: Dubsado does not document a package export. Copy each package and its price into the template.
| From your offer | AgencyPro column | Notes |
|---|---|---|
| Service or package name | name | Required. Must be unique; a name already in AgencyPro is skipped. |
| Short description | description | |
| One-off or ongoing | type | Required: one_time or recurring. |
| How it is priced | pricing_type | Required: standard, time_based or credit_based. Time-based and credit-based services need Pro. |
| Price | price | A plain number such as 2500.00. A currency sign or thousands comma leaves the price empty. |
| Hours in a time block | hours | For time_based services. |
| Credits per purchase | credits | For credit_based services. |
| Shown to clients in the catalog | show_in_catalog | true or false. Defaults to true. |
The CSV sets the basics only. After import, open each recurring service and add its pricing tier (billing period and price per period), and set intake form fields, images, turnaround and FAQs in the service editor.
3. Sample files
Example data, in the column names AgencyPro's templates use. Download the real templates from Imports > Clients and Imports > Services; they include every optional column.
clients.csv
name,email,phone,position,organization_name,billing_city,billing_country
"Jane Example","jane@example.com","+1 555 0100","Marketing Lead","Example Co","Austin","US"
"Sam Example","sam@example.com","","Founder","Example Co","Austin","US"
"Lee Sample","lee@sample.org","","Owner","Sample Studio","Leeds","GB"services.csv
name,description,type,pricing_type,price,hours,credits,show_in_catalog
"Website audit","Technical and content audit","one_time","standard","1500.00","","","true"
"SEO retainer","Monthly SEO work","recurring","standard","2000.00","","","true"
"Development hours (10)","Prepaid block of 10 hours","one_time","time_based","1200.00","10","","true"4. Permissions
- Dubsado: Export from the Dubsado account that owns the contacts. Custom client fields come out in the CSV but have no AgencyPro column.
- AgencyPro: importing clients needs the create clients permission, and importing services needs the create services permission, in your workspace role.
- Importing does not email anyone. Clients get portal access when you send their invite from the client record, so you choose when they see the portal.
5. Validate
- Import a test file of three to five rows first, then check those clients and services in AgencyPro.
- In the mapping step, check every column. Headers such as Email, Company and Phone are matched automatically; map the rest by hand.
- The preview checks the first 100 rows for missing required values, invalid emails and invalid type values, and the import stays disabled until it shows no errors. Later rows with errors are skipped and listed by row number in the results.
- Rows whose email (clients) or name (services) already exists in the workspace are skipped, not overwritten.
- Each imported client fires the Client Created event. If you run Zaps on that trigger (Zapier is on the Plus plan), pause them during the import.
- After the import, export clients and services from Exports and compare the row counts with your Dubsado file.
6. Roll back
- There is no undo button. Select the imported clients or services in their lists and delete them in bulk, fix the CSV, and import again.
- To correct a client that imported with wrong details, delete or edit it first: re-importing the same email skips the row.
- Keep Dubsado running until the parallel run ends. Your Dubsado data is the fallback if anything needs re-checking.
Common migration challenges
Challenge: Workflows do not transfer
Dubsado workflows stay in Dubsado. Fix: write down the steps each workflow automates and rebuild the ones that matter with AgencyPro onboarding, recurring auto-requests (Pro) and notifications.
Challenge: Signed contracts
Signed documents do not import. Fix: download them as PDFs and attach the ones you reference often to the client in AgencyPro.
Challenge: Payment plans mid-way
Clients part way through a Dubsado payment plan need a clear handover. Fix: finish the current plan in Dubsado or create the remaining payments as AgencyPro invoices with a cutover date.
Post-migration checklist
Frequently asked questions
What can I import from Dubsado into AgencyPro?
Clients and services, by CSV. AgencyPro's importer (Imports > Clients and Imports > Services) gives you a template, validates the file and shows a preview before you confirm, up to 1,000 rows per file. Projects, tasks, files, comments and history are not imported automatically. For each active Dubsado project, create the work as AgencyPro requests (or a project) for the client. Completed projects stay in Dubsado's exports and your saved files.
Can I export my data from Dubsado?
Yes. Dubsado's contact list has an Export CSV option where you pick the client fields to include. Dubsado recommends using Chrome for exports. Contracts, forms and workflows do not come with that file, so save copies of anything you need.
How long does the move take?
It depends on how much active work you have. The client and service imports are quick once your CSVs match AgencyPro's templates. Rebuilding open work is the bigger job, so count your active clients and open items in Dubsado before you pick a cutover date, and plan one billing cycle of parallel running. The timeline on this page is an example for a small agency.
What does the AgencyPro migration service include?
The migration service is part of the Plus plan ($149 a month, or $124.17 a month billed annually). The AgencyPro migration team helps you move from Dubsado, including setting up the projects, tasks, files and history that the CSV importer does not bring in. On Basic and Pro you use the CSV importer and rebuild active work yourself.
When is it better to stay on Dubsado?
If you are a solo creative business that relies on Dubsado's workflows and scheduler and rarely has more than a few active clients, the move may not pay off. AgencyPro suits teams running ongoing requests and retainers for many clients.
Continue learning
AgencyPro client portal
A branded portal where clients approve, pay, and collaborate →
Agency client portal best practices
Set up a portal clients actually log into →
Agency client onboarding
A repeatable framework for the first 30 days →
Best client portal software
How leading client portals compare in 2026 →
AgencyPro vs Dubsado
Side-by-side feature and pricing comparison →
Planning a move from Dubsado?
Book a call and we will map your Dubsado contacts, packages and active projects to AgencyPro clients, services and requests.