Before you start
- A Planhat user with the ServiceAccount permission. Private apps are created in Planhat’s App Center, and only users with this permission see the option.
- Read access for the data you want to move. A private app’s permissions limit what its token can read. Users, companies, end users and custom fields are required: without them, Check access or the scan stops. Grant conversations and tasks together, because the timeline reads both. Read access to objectives, NPS, licenses, opportunities, invoices and churn is optional: anything else the token can’t read is left out, and the scan tells you which.
- Owner or admin in GainTrace. See Before you start for the rest.
Create the token
1
Create a private app in Planhat
In Planhat, open App Center, choose + New app, then + Private app. Name it for GainTrace, set its permissions to read the data you want to move, and save.
2
Generate the API access token
On the app’s Info tab, set the token’s expiry date far enough out to last until you switch over. The default is 30 days and the maximum is 365. Then choose Generate new token and copy it. Planhat shows the token only once.
3
Connect in GainTrace
Go to Setup > Switch from another tool, choose Planhat, paste the token into API token and choose Check access.
What comes over
Planhat tasks carry no risk or escalation flag, so nothing from Planhat goes to Triage.
Objectives and plans
Planhat’s API gives an objective a name, a health and a Company, but no plan, status or due date. Both choices in Review put each Company’s objectives into one plan:- With Merge into one live plan, they go into the Company’s merged plan. It lands archived if the Company already has a live plan made in GainTrace.
- With Keep as separate plans, they go into a plan named “Objectives from Planhat”, which lands live beside any existing plan.
Revenue
A Company’s ARR is its ARR in Planhat. If it has none, ARR is the total of its licenses still in force. MRR works the same way, or is ARR divided by 12. Planhat doesn’t name a currency on a Company, so GainTrace takes it from the Company’s licenses. GainTrace keeps one currency per Company. If a Company’s licenses use more than one currency, or none has a currency (including a Company with no licenses), its ARR, MRR and revenue history aren’t set. Its licenses, deals and invoices still land. Results lists it under Skipped with the reason. Fix the currency on its licenses in Planhat, then import changes.What stays in Planhat
These appear in Review under What stays in Planhat, and on the rebuild checklist once the scan finishes:If something goes wrong
For every other message, see If something goes wrong.
Good to know
- Only reads. GainTrace never writes to Planhat. Its reads show in Planhat as actions by your private app.
- Rate limits. GainTrace paces its reads to stay under Planhat’s API quota. Other integrations using Planhat’s API at the same time can slow the import.
- Old NPS answers. By default, Planhat’s API returns only NPS responses from the last 360 days. GainTrace asks for older ones, but Planhat doesn’t document how far back it goes, so compare the NPS count in Review with Planhat.
- Quiet import. Nothing imported from Planhat triggers flows, webhooks or signal detection. See Imports are quiet.