Skip to content
Current/ Help Center

Prepare your ConnectWise before onboarding: the setup checklist

10 min read · Updated Jul 18, 2026

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.

  1. 1
    Register at register.developer.connectwise.com
    Use 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.
  2. 2
    Create the clientId
    Once 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.
  3. 3
    Treat it like a password
    The 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.
Heads up
A permission gap looks like missing data, not an error
ConnectWise answers a request for a record outside the API Member's role scope with a plain not-found — the same answer as a record that genuinely doesn't exist. So an under-permissioned role doesn't produce a red error; it produces an area of Current that's mysteriously empty after a successful-looking sync. If data you know exists isn't arriving, check the security role before anything else.

Step 3 — Create the API Member and mint the keys

  1. 1
    Create the API Member
    In 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.
  2. 2
    Mint the API keys
    Reopen 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.
  3. 3
    Name it recognisably
    Something 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.

Note
The full credential set
Five values: site URL + company ID + public key + private key + clientId. The first two are not secrets; the last three are.

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

  1. 1
    CRM write mode starts at OFF
    Every CRM write to ConnectWise — companies, contacts, notes, deals — is blocked until an admin opts in. Off means no CRM writes at all.
  2. 2
    Create a test company for the middle rung
    Test 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.
  3. 3
    Map your pipeline stages
    Pushing 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."
  4. 4
    Check the two-way sync switch
    It 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.
Tip
ConnectWise doesn't publish a fixed API quota
Unlike Autotask's hourly threshold, ConnectWise throttles bursts as they happen. Current paces itself — a small number of concurrent requests, large pages, and automatic backoff whenever ConnectWise asks — so you shouldn't need to think about limits. Still, kick the first big pull off when someone's around to read the warnings, not at 4:55pm on a Friday.
Was this helpful?