Start here
Importing from HighLevel
Bring your HighLevel sub-account over: your business into your website, and your contacts, pipelines, calendars and conversations into your CRM here. Nothing in HighLevel is changed.
What you need
Two things from your HighLevel sub-account (not the agency view): a Private Integration Token, and the address of any page inside the sub-account. Getting them takes about two minutes.
- In HighLevel, open the sub-account you want to bring over.
- Go to Settings → Private Integrations and click Create new integration. Call it PowerPro.
- Tick the read-only permissions (HighLevel calls them scopes) from the tables below. Only
locations.readonlyis required; each of the others brings more over. - Save, then copy the token. HighLevel shows it only once; it starts with
pit-. - Copy the address of any page in the sub-account from your browser's address bar. It looks like
app.gohighlevel.com/v2/location/aBc123XyZ/dashboard(your agency's own domain works too). The part after/location/is the Location ID.
Paste it only into the app. It's stored encrypted, only its last four characters are ever shown again, and it's used only to read from HighLevel. Don't send it by email or chat.
Permissions for your business and website
| Permission (scope) | What comes over |
|---|---|
locations.readonly (required) | Business name, contact details, logo, social links |
brand-boards/design-kit.readonly | Brand colours, fonts and logos |
locations/customValues.readonly | Tagline, about text, colours |
products.readonly, products/prices.readonly | Your services, with prices |
calendars.readonly | Your calendars and booking button |
forms.readonly, surveys.readonly | Your contact form and surveys |
medias.readonly | Images from your media library |
blogs/list.readonly, blogs/posts.readonly | Your latest blog posts |
| Knowledge Base (read) | Your FAQs |
users.readonly | Team member names |
funnels/funnel.readonly | Your existing funnels and websites |
Permissions for your CRM
| Permission (scope) | What comes over |
|---|---|
contacts.readonly | Contacts and their notes |
locations/customFields.readonly, locations/tags.readonly | Custom fields and tags |
opportunities.readonly | Pipelines, stages and opportunities |
calendars.readonly, calendars/events.readonly | Calendars and appointments |
conversations.readonly, conversations/message.readonly | Conversations and their messages |
conversations/message.write (optional) | Lets you reply from the inbox through HighLevel until your own email and phone are set up here |
Step 1: connect your sub-account
The first time you sign in, the set-up starts with Connect your HighLevel. Paste the token and the sub-account address, then click Connect and import. Your business comes over and your first website is built from it.
- 1The Private Integration Token from your sub-account (it starts with pit-).
- 2The address of any page in your sub-account: the Location ID is found in it.
- 3Connect and import: your business comes over in about two minutes.
- 4How to get both, with the permissions to tick.
Already set up, or want another sub-account? Use Settings → Integrations: paste a new token and Location ID and click Connect. Reload from HighLevel brings in business details you've changed since.
- 1Which sub-account is connected, and the end of its token.
- 2Reload from HighLevel brings in changed business details. Disconnect deletes the token; what came over stays.
- 3A new token or another sub-account: paste them here, then Connect.
Step 2: move your CRM
Open Move from HighLevel in the menu and click Import from HighLevel. Each part shows its progress as it comes over. A typical sub-account takes a few minutes; large ones longer. You can keep working meanwhile.
- 1What comes over: contacts, notes, tags, custom fields, pipelines, deals, calendars, appointments, conversations.
- 2Import from HighLevel: one click, nothing in HighLevel changes.
When it's done, every part shows how many records came over:
- 1How much came over, part by part.
- 2Sync now: bring in the latest changes straight away.
- 3Keep syncing: new and changed records come in every 10 minutes. Turn it off once you've moved.
| In HighLevel | Here |
|---|---|
| Contacts, with notes, tags and custom fields | Contacts |
| Pipelines and opportunities | Opportunities |
| Calendars and appointments | Calendar |
| Conversations and messages (email, SMS, calls) | Conversations |
Your token doesn't have that permission yet. In HighLevel, edit the integration (Settings → Private Integrations), tick the permission from the table above and save. If HighLevel gives you a new token, paste it in Settings → Integrations. Then click Sync now here.
Keep in step while you move
Keep syncing from HighLevel is on after the first import: every 10 minutes, new and changed records come in, so you can keep using HighLevel while you switch over. If a record is changed in both places, the most recent change wins. Sync now brings everything in straight away.
The sync only reads from HighLevel. The one thing that goes back is a reply you send from the inbox through HighLevel, before your own email and phone are set up here.
Finishing the move
- Set up Email services and Phone numbers here, so emails, texts and calls go through this app instead of HighLevel.
- Put your websites on your own domains.
- Turn off Keep syncing from HighLevel: this CRM is now the only place your data lives.
- Optionally, Disconnect HighLevel in Settings → Integrations. The token is deleted; everything that came over stays.
Every change to your CRM, including the ones the import made, is on the History page for 180 days, where you can undo it.
Questions
Does the import change anything in HighLevel?
No. It only reads. Your HighLevel account keeps working exactly as before.
What doesn't come over?
Workflows and automations (rebuild them in Automations; the templates cover the usual ones), invoices and payments, and reviews. Funnels are listed so your website can link to them, but their pages stay in HighLevel.
I run an agency with several sub-accounts
Each sub-account is brought over into its own account here, with its own token.
We use a white-label domain for HighLevel
That's fine: copy the address of a page inside the sub-account from your own domain. It contains /location/ followed by the Location ID.
I see "That token was not accepted"
Copy the token again (it starts with pit-) from the same sub-account the address comes from, and check the integration wasn't deleted in HighLevel.