Prepare your ConnectWise before onboarding: the setup checklist
Current's ConnectWise connection is deep — it reads companies, contacts, agreements, opportunities, projects, tickets, members, and time, and writes back to most of them. That depth means the quality of your first sync is decided in ConnectWise, not in Current. This is the article to read before you paste a single credential: what to create, what to check, and what to clean up, so the first pull and the first push both land.
Work through it in order, and use the "You're ready when…" checklist at the bottom as your sign-off. For the connection walkthrough itself, see "Connect ConnectWise PSA and choose what syncs". For the field-level detail on what maps where, see "ConnectWise sync: the complete field-mapping reference".
Step 1 — Register on the Developer Network and create your clientId
ConnectWise requires a clientId — a unique GUID — on every single API call, alongside your keys. Requests without one are rejected outright. It's free and self-service, but it lives on a separate portal from your PSA, so do it first.
- 1Register at register.developer.connectwise.comUse a company-branded email — free and personal addresses are not accepted. This Developer Network account is separate from any ConnectWise University login, and registration goes through a short approval step.
- 2Create the clientIdOnce approved, sign in at developer.connectwise.com, open the ClientId section in the top navigation, and create one. It's free and instant, and one clientId covers the integration — you don't need one per person or per customer.
- 3Treat it like a passwordThe clientId identifies the integration to ConnectWise, and a request carrying it is halfway authenticated. Store it with the API keys, and never publish it.
Step 2 — Build a least-privilege security role
A ConnectWise API Member carries a security role, and that role is exactly what the API keys can do — no more, no less. Create a dedicated role for Current before you create the member, and grant it only what the sync needs.
- +Read (inquire) on: companies, contacts, and sites; opportunities and sales configuration; projects, phases, and project tickets; service boards, statuses, and tickets; time entries, work roles, and work types; agreements and their additions; and members.
- +Add/edit only on what you intend to push: project tickets and their notes, time entries, opportunities, and — if you'll use CRM write mode — companies, contacts, and company notes.
- +Skip everything else. Finance beyond agreements, procurement beyond reading the product catalog, HR, and admin functions are not needed.
Step 3 — Create the API Member and mint the keys
- 1Create the API MemberIn ConnectWise PSA: System → Members → API Members tab → the + (new) button. Fill in the required fields, assign the security role from Step 2, and Save. API Members are API-only — they can't sign in to the interface and don't consume a ConnectWise license seat.
- 2Mint the API keysReopen the member, go to the API Keys tab, press +, enter a description like Current sync, and click Save — not Save and Close. The Public Key and Private Key appear on that screen, and the private key is shown exactly once. Copy both into a password manager before you leave the page; a lost private key means minting a new pair.
- 3Name it recognisablySomething like current-sync. Every write Current makes shows up in ConnectWise attributed to this member — which is also how Current recognizes its own edits coming back in a poll and skips them instead of re-importing them.
Step 4 — Find your company ID and site URL
The company ID isn't generated anywhere — it's the value your team types in the Company field on the ConnectWise login screen. The site URL is the host you sign in at: na.myconnectwise.net, eu.myconnectwise.net, aus.myconnectwise.net, or your own hostname if you're on-premises. That's all Current needs — it derives the API address and version path automatically from ConnectWise's own site-discovery endpoint, and re-resolves them whenever ConnectWise moves your instance during an upgrade.
Step 5 — Service-board hygiene
Current reads your service boards for company ticket history — the support record behind sentiment, SBR statistics, and AI account insight. Most ConnectWise instances have boards that hold machine noise rather than customer work: alerts and monitoring, RMM automation, backup jobs, spam and internal IT. Current's board-noise toggles flag the usual suspects as Recommended off but never mute a board for you — you decide, in the setup wizard's mapping step or later under Integrations → ConnectWise PSA → Manage.
- +Know which boards hold real customer conversations before your first sync, so the noise never distorts your stats.
- +Muting a board hides its tickets in Current immediately; nothing is deleted, and nothing changes in ConnectWise.
- +Closed-status hygiene matters too: Current maps a board status to done when ConnectWise itself flags it as a closed status, so a board whose "finished" status isn't flagged closed will show its tickets as forever open.
Step 6 — Member emails must match Current sign-ins
Everything personal in Current — logging time, My Day, an account executive's CRM book — hangs off one link: the ConnectWise member ↔ Current user match. Current makes it automatically on a lowercase email comparison between the member's email in ConnectWise and the person's Current sign-in email. That is the only automatic match; there is no name-based fallback.
- +Give every human member a real email in ConnectWise that exactly matches their Current sign-in email (case aside).
- +Inactive members are not pulled, so they can't be linked at all.
- +If an email genuinely differs, a tenant admin links the person by hand in Users & roles — deliberately admin-only, because claiming a member identity is a security decision.
- +Unlinked people are blocked from logging time and see an empty My Day, so this is the highest-value step to get right.
Step 7 — The Current-side gates
- 1CRM write mode starts at OFFEvery CRM write to ConnectWise — companies, contacts, notes, deals — is blocked until an admin opts in. Off means no CRM writes at all.
- 2Create a test company for the middle rungTest mode allows CRM writes only against companies whose live ConnectWise name starts with "ZZ-Current Test" (companies named with the older "ZZ-Cascade Test" prefix still count). Create one now so your team can exercise the whole flow without touching a real account, and flip to live only after test writes have landed correctly.
- 3Map your pipeline stagesPushing a deal to a ConnectWise opportunity requires a mapping from each Current pipeline stage to a ConnectWise opportunity stage. Set it in the Manage drawer before your first deal push, or you'll get "This deal's stage isn't mapped yet."
- 4Check the two-way sync switchIt controls task-field pushes. Decide its position deliberately as part of your go-live plan rather than discovering it later.
You're ready when…
- +A Developer Network account is approved and a clientId exists, stored with your other secrets.
- +A dedicated API Member exists with a least-privilege security role: read on everything Current pulls, add/edit only on what you'll push.
- +The public and private keys are minted and saved — you copied the private key before closing the screen.
- +You know your company ID (the login screen's Company field) and your site URL.
- +Every person who will use Current has an active ConnectWise member whose email matches their Current sign-in email, exactly (case aside).
- +You know which service boards are machine noise, so you can mute them in the mapping step.
- +Board "finished" statuses are actually flagged closed in ConnectWise, so done means done.
- +A "ZZ-Current Test" company (or a legacy "ZZ-Cascade Test" one) exists in ConnectWise for the CRM write-mode test pass.
- +Pipeline stages are mapped before the first deal push.
