Connect HaloPSA
Create an API Application in HaloPSA, then paste four fields into DarkBird.
DarkBird connects to HaloPSA using OAuth 2.0 Client Credentials (no user login required). You will create a dedicated API Application inside HaloPSA, then paste its credentials into Settings → Integrations → HaloPSA.
Step 1 — Create an API Application
- Configuration → Integrations → HaloPSA API
Click View Applications, then New.
- Name and authentication
Set the Name to DarkBird and Authentication Method to Client Credentials.
- Set permissions
Check the permissions listed in the table below.
- Save and copy credentials
HaloPSA will display a Client ID and Client Secret. Copy both immediately — the secret is shown only once.
Step 2 — Required API permissions
| Permission | Read | Edit | Notes |
|---|---|---|---|
| Clients | Yes | No | Required to search customers when linking a project |
| Projects | Yes | Yes | Required to link DarkBird projects and push the WBS |
| Tickets | Yes | Yes | Required to create phase and task tickets under a project |
| Time Entries | Yes | No | Required to pull actuals back into DarkBird after project completion |
| Items (Products) | Yes | No | Required to sync the Halo product catalog into DarkBird |
| Sites | Yes | No | Required to populate site data when linking a project |
| Quotations | Yes | Yes | Required to create opportunities and push BOM line items |
Step 3 — Enter credentials in DarkBird
Go to Settings → Integrations → HaloPSA and click Connect. Fill in all four fields:
| Field | Where to find it |
|---|---|
| Client ID | Shown on the API Application page in HaloPSA after saving |
| Client Secret | Shown once when the application is first created — copy before closing |
| Tenant Name | The subdomain of your HaloPSA URL, e.g. yourcompany from yourcompany.halopsa.com |
| API URL | Your full HaloPSA domain, e.g. https://yourcompany.halopsa.com |
On first connect, DarkBird automatically imports your HaloPSA product/item catalog. This may take a moment for large catalogs.
What DarkBird does in HaloPSA
- Create Opportunity — Click the link icon in the project header → Create Opportunity. DarkBird creates a new HaloPSA quotation pre-filled with the project name, client, all BOM line items, and a total labor hours summary. Products synced from HaloPSA are matched by catalog ID; manually-entered products appear as description-only lines.
- Link to an Existing Record — Click the link icon → Link Existing to search for and attach an existing HaloPSA project. The client name and site data are pulled in automatically.
- Sync Plan to HaloPSA — On the Deliver tab, push the WBS to the linked project. Each DarkBird phase becomes a parent ticket; each task becomes a child ticket with budget hours.
- Pull Actuals from HaloPSA — On the Deliver tab, pull time entries logged against the project. Hours are matched to DarkBird tasks by name and populate the Actuals column for calibration.
- Product Catalog Sync — Automatically runs on first connect and can be re-run from Settings → Integrations → HaloPSA → Sync Products.
DarkBird never deletes records in HaloPSA. Sync operations only create or read.