bitlync Docs

Quickstart

First-customer Connect checklist

Halo + ConnectWise. For the MSP connecting so an ISV can use Bitlync. Not Azure. Not Autotask.

Production badge OFF. Contact create stays parked (list/match only). PSA company create refused. Never mint an agreement header.

Before you start

  • ISV has a Bitlync key and a tenant for this MSP
  • MSP can sign in to their Halo or ConnectWise as admin (or someone who can make an API app / API member)
  • MSP knows they will paste keys into Bitlync Connect (hosted). The ISV never sees those keys
  • Decide which PSA is first for this MSP (Halo or ConnectWise). One connection at a time

1. Open Connect

  • From the ISV product (or Bitlync link), MSP opens the hosted Connect link for that vendor
  • MSP accepts MSP Connect Terms before keys save
  • Follow the numbered steps beside the fields (Halo: client ID, secret, auth + resource URLs; ConnectWise: company id, public/private keys, client id, base URL)

2. Keys and permissions

  • Paste credentials
  • Bitlync tests the connection in the flow
  • If something is missing, fix the named permission in the PSA, then re-test — do not guess
  • Prefer a dry_run / preview where the product offers it before real writes

3. Map companies (Match / company import from PSA / Skip)

PSA companies are the book. Bitlync does not create companies in the PSA.

ChoiceMeaning
MatchLink to a customer that already exists in the ISV. Exact same name may auto-fill Match
Company import from PSACreate that customer in the ISV from the PSA company (greenfield). Never in the PSA
SkipNot a customer (internal / test). Leave unmatched
  • Review rows that need a choice (Needs match = not chosen yet — not a fourth outcome)
  • Ambiguous names: Match by hand. Never auto-import those
  • Exact-name hits may auto-Match — that is Match, not import

4. Bulk company import (unmatched)

When many PSA companies should become ISV customers (~dozens to ~150):

  • Let exact-name Match run first
  • Preview with dry_run: who will import, who is skipped (already Matched, Skip, ambiguous, not selected)
  • Explicit MSP action only: Import all unmatched and/or multi-select then import
  • Never silent auto-import. Never import ambiguous rows
  • Run for real: watch per-row progress and errors. A failed row stays unmatched for retry; successes stay

5. Contacts (list / match only)

  • After companies are mapped, pull contacts under those companies
  • Match on company + email (and vendor id when present)
  • Do not create contacts in the PSA through Bitlync for first customer (parked)

6. Boards / statuses / priorities (ticket writes)

  • Confirm Bitlync can list the PSA’s boards (or Halo teams), statuses, and priorities
  • Use those when opening or updating tickets so writes land on a board/status the MSP recognizes
  • Ticket create / update / note / close / time: preview with dry_run, then commit

7. Smoke check before calling it live

  • Companies: Match and/or company import from PSA worked for the rows you care about
  • Contacts: list/match under a mapped company
  • Ticket: dry_run then one real create (or update) on a lab/low-risk company
  • Agreement lines only on an existing agreement if billing matters — no new agreement header
  • Production badge stays OFF until Bitlync says otherwise

Never on this path

  • Create a company in the PSA
  • Silent auto-import of unmatched companies
  • Contact create (parked)
  • Mint an agreement header
  • Turn on a ConnectWise / Halo production badge yourself

Coverage for Halo + ConnectWise today (members list, contacts list/match, boards/statuses/priorities, D mapping fields, Halo Ticket inbound PARTIAL): see Coverage. Sandbox curl day-one: Quickstart.