MIGRATION GUIDE

How to migrate from Notion to AgencyPro

If your agency runs on a Notion setup, your client database exports as CSV, which you can reshape into AgencyPro's client import template. This guide covers what to export from Notion, what imports by CSV (clients and services), and what to keep in Notion.

Why agencies switch from Notion

No database upkeep

Clients, requests, invoices and payments are built-in records, so you stop maintaining relations, formulas and templates.

A real client login

Clients log in to a branded portal to submit requests and pay invoices, instead of browsing shared Notion pages.

Payments built in

Stripe and PayPal payments and retainer subscriptions are on every plan.

Keep Notion for docs

Wikis and SOPs can stay in Notion. Link them from the portal menu with an External link extension on Pro or Plus.

Example migration timeline

DAYS 1-2

Export and plan

Export from Notion, 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 Notion.

Step-by-step migration process

1

Export your data from Notion

Open a database page in Notion, click the three-dot menu, choose Export and pick Markdown & CSV; databases export as CSV. To back up everything, a workspace owner can go to Settings > General > Export all workspace content (Notion emails a link that expires after 7 days).

2

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 Notion field goes in which column. Keep each file under 1,000 rows and test with a few rows first.

3

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.

4

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.

5

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.

6

Recreate active work

Recreate open items from your Notion projects or tasks databases as AgencyPro requests for each client. Keep wikis and SOPs in Notion and link them from the portal menu with an External link extension (Pro and Plus).

7

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.

8

Run in parallel, then cancel Notion

Run both tools for one billing cycle. When new requests and payments are running in AgencyPro, save a final Notion export and cancel.

What moves to AgencyPro, and how

→Clients database: Notion CSV, then CSV import (Imports > Clients)
→Services database: Notion CSV, then CSV import (Imports > Services)
→Active projects and tasks: recreated as requests by hand, or with the Plus migration team
→Wikis and SOPs: stay in Notion, linked from the portal
→Files: downloaded from the Notion export where needed
→Comments: included in HTML exports, not imported
→Formulas and automations: replaced by built-in AgencyPro records
→Team members: invited to AgencyPro (seats billed per plan)

Import runbook: Notion 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: Open your clients database (full page), three-dot menu > Export > Markdown & CSV. The database comes out as a CSV with one column per property. Notion: export your content

From NotionAgencyPro columnNotes
Name (title) propertyorganization_nameRequired, if each page is a client company.
Contact person propertynameRequired.
Email propertyemailRequired.
Phone propertyphone
URL propertyorganization_website

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. Relation and select properties export as text. Clean up any links or extra values in name and email columns before import.

2. Service file

Where it comes from: If you keep a services database, export it the same way and map its name and price properties; otherwise build the file from your price list.

From your offerAgencyPro columnNotes
Service or package namenameRequired. Must be unique; a name already in AgencyPro is skipped.
Short descriptiondescription
One-off or ongoingtypeRequired: one_time or recurring.
How it is pricedpricing_typeRequired: standard, time_based or credit_based. Time-based and credit-based services need Pro.
PricepriceA plain number such as 2500.00. A currency sign or thousands comma leaves the price empty.
Hours in a time blockhoursFor time_based services.
Credits per purchasecreditsFor credit_based services.
Shown to clients in the catalogshow_in_catalogtrue 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

  • Notion: You can export pages you have access to. The whole-workspace export is run by a workspace owner and skips private pages others cannot see.
  • 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 Notion 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 Notion running until the parallel run ends. Your Notion data is the fallback if anything needs re-checking.

Common migration challenges

Challenge: Column names do not match

Your Notion clients database has its own columns. Fix: download AgencyPro's client template and rename or reorder the CSV columns to match before upload.

Challenge: Relations export as text

Linked records become text in the CSV. Fix: clean those columns or drop them; AgencyPro links requests to clients itself.

Challenge: Private pages are skipped

A workspace export leaves out pages the exporter cannot access. Fix: run the export as the workspace owner.

Post-migration checklist

Client CSV imported and spot-checked against your Notion export
Services imported with the right prices and types
Every active client has their open work recreated in AgencyPro
Stripe or PayPal connected and a test payment completed
Retainers rebuilt as subscriptions with the first payment confirmed
Team members invited with the right roles
Notion wikis you still use linked from the portal with an External link extension
Final Notion export saved before you cancel

Frequently asked questions

What can I import from Notion 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. Recreate open items from your Notion projects or tasks databases as AgencyPro requests for each client. Keep wikis and SOPs in Notion and link them from the portal menu with an External link extension (Pro and Plus).

Can I export my data from Notion?

Yes. Any page or database exports from the three-dot menu > Export as Markdown & CSV, HTML or PDF; full-page databases become CSV files. A workspace export is under Settings > General and can take up to 30 hours. Private pages you cannot access are not included.

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 Notion 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 Notion, 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 Notion?

If your team enjoys building in Notion, has few clients, and clients never need to log in or pay online, a Notion setup may be enough. AgencyPro is worth it when you want client logins, requests and payments without maintaining the system yourself.

Replacing a Notion agency setup?

Book a call and we will help you map your Notion clients and services databases to AgencyPro's import templates.