Help › Manage › G19
Connect other programs — API tokens and webhooks
An API token lets a program such as your PSA or a script work with the console API. A webhook reports tickets and sessions to another system on its own.
Preview this guide has not yet been clicked through on a real device. Button names and steps come from the program but may differ in details.
- For
- Account administrator · Own-relay operator · IT service provider (MSP)
- Applies to
- Cloud · Own relay
- Licence
- — (webhook and fetching events only with the ticket system)
- Right in the console
- API tokens only the relay's system administrator
- Control from
- Browser
- from version
- 20261010.25
What it is for
Two ways connect BrowserDesk with other programs:
- API token: a program — your PSA, a script, a monitoring tool — signs in to the console API with it and reads or changes devices, tickets and sessions as far as the chosen role allows.
- Webhook: BrowserDesk reports events to an address of your system on its own — new tickets, status changes, notes, start and end of sessions, alerts. Alternatively your system fetches them.
For ServiceNow, Jira Service Management and Autotask there are ready-made integrations (G16).
What you need
- API token: your own relay and an account as system administrator of the relay. In the Cloud only the operator creates tokens.
- Webhook: the ticket system in the access (Cloud: booked, own relay: in the licence; never Free) — G14 — and an address the relay can reach.
How to do it
Create an API token (own relay)
- In the console, bottom left: Users → page Users & roles → API tokens ….
- Enter a Name (e.g. "HaloPSA"), choose the Role (Read only, Technician, Supervisor or SCIM provisioning), choose Valid (30 days to 1 year) and optionally tick the accesses under Accounts (none selected = all): — none ticked means: all.
- Create token. The token appears only now (Visible only now:) — Copy token and store it safely.
- In the other program send the token in the header of every request:
Authorization: Bearer bda_…— for examplecurl -H "Authorization: Bearer bda_…" https://<your-relay>/admin/api/devices?tenant=<access>.
How to use in the same dialog gives the details. To revoke: Revoke in the list — it takes effect at once.
Set up a webhook
- SupportTickets → tab Settings → Integration (with several accesses, choose the access at the top).
- Tick Integration active.
- Enter the Webhook URL and create a Webhook secret with Generate secret. The value appears once in plain text — copy it into your system.
- Or fetch instead of a webhook: Generate key for the API key (pull); your system then calls
GET /api/events?after=<number>with the headerX-BD-Api-Key. - Save integration.
How you know it worked
- Token: the list shows the token with Valid until and Last used. A request with the token returns data instead of a refusal; whatever the token changes appears in the audit log under
api:<name>(G17). - Webhook: for a new ticket a POST arrives at your address with the headers
X-BD-Event,X-BD-Event-IdandX-BD-Signature: sha256=…(HMAC-SHA256 of the body with your secret).
Good to know
- Role at most Supervisor: a token never manages users, tokens, accesses or the relay's configuration. Valid for at most 365 days.
- Treat it like a password: the relay does not store the token in readable form; whoever has it works with its role.
- Not for the remote console: an API token does not open a command line on a device.
- "SCIM provisioning" only applies to user management via SCIM, not to the console API (B4).
- Events:
ticket.created,ticket.status,ticket.note,session.started,session.ended, plusdevice.alertanddevice.alert.cleared(only alert rules with the "Webhook" box ticked). Receivers must be able to skip unknown events. - Opening a session from the PSA works without a token via a link:
https://<your-relay>/app/?tenant=<access>&id=<device-id>&ticket=<number>. - Cloud: API tokens for your access cannot be created yourself yet — write to info@browserdesk.de. Webhook and fetching work with the ticket system booked.
- A way back (the PSA changing tickets in BrowserDesk) and an OpenAPI description do not exist yet.
- The console's English label for the accesses of a token is "Accounts" — it means the accesses (tenants).
If it does not work
| You see | Meaning and remedy |
|---|---|
| API tokens … or Users are missing | Your account is not a system administrator. In the Cloud: info@browserdesk.de. |
| A request with the token is refused (401) | Token expired, revoked or passed wrongly. Only Authorization: Bearer bda_… or X-Admin-Token: bda_… count. |
| A request is refused (403) | The token's role is not enough (e.g. changing with "Read only") or the access is outside the token's scope. Create a new token with a suitable role. |
| Nothing arrives at the webhook | Integration active is not ticked, the ticket system is not booked, or the address cannot be reached by the relay. |
| The signature does not match | Your system uses a different secret from the one generated last, or it does not compute over the unchanged body. |