Connector spokes
A spoke is a connection to a system you already run — PagerDuty, Jira, ServiceNow, Salesforce and the rest. Connect one and its credentials are encrypted and held in the vault; from then on your workflows can call it, and its events can start your workflows.
Where a Webhook pushes your events outward, a spoke is a two-way link: actions are things AxisSynapse does in the other system, triggers are things that system does which start work here.
TL;DR — Settings → Integrations, pick a spoke, Connect, paste its credentials. Use Run action to prove it works before wiring it into anything. Every call is rate-limited, audited, and protected by a Circuit breaker that pauses a spoke that keeps failing.
What connecting gives you
| Field | What it does | Accepted values / default |
|---|---|---|
| Run action | Make one real call by hand — the fastest way to prove a connection before it carries traffic. | Returns the vendor's own response, including the error body when a call is refused. |
| Bind trigger | Let the other system start work here when something happens there. | Available on spokes that publish events. |
| Disconnect | Remove the connection and delete its stored credentials. | Use this to rotate a credential — disconnect, then connect again. |
Credentials are write-only
A credential is encrypted when you save it and is never shown again — not in the console, not in an export, not in the audit trail. To change one, disconnect the spoke and connect it again. Creating and removing a connection are both recorded in the Audit log.
Before you start
You need the Workspace admin role, and on the other system, enough access to create an API credential. Each spoke below lists exactly which one — several vendors offer more than one kind of credential and only one of them works.
Connect a spoke
Open Settings → Integrations
Every available spoke is listed with the actions and triggers it supports and the kind of credential it expects. Spokes you have already connected appear at the top.
Click Connect
The form asks only for what that spoke actually needs. Some want a token; some want a username and password; some want a base URL because the vendor gives every customer their own address.
Prove it with Run action
Pick an action, fill in the inputs, and run it once. This is a real call — a real incident, a real issue, a real record — so use a test project or a throwaway record the first time.
Read the response
A green result shows the vendor's response body. A failure shows what the vendor said, in their words. That message is almost always specific enough to fix on the first try.
Setting up each connector
The credential each vendor wants is rarely the one you would guess, and picking the wrong one usually produces an error that points somewhere else entirely. What follows is what actually works, verified against a live account for each.
PagerDuty
Trigger an incident. No connection credential at all — the Events API authenticates on the routing key carried in each request.
Create a service
In PagerDuty: Services → Service Directory → New Service.
Add an Events API V2 integration
On the Integrations step, choose Events API V2. Copy the 32-character Integration Key.
Connect and run
Connect the spoke, then run Trigger an incident with the integration key as the Routing key. Severity must be one of
critical,error,warningorinfo— the field is a picker, so you cannot get it wrong.
Not the REST API key
PagerDuty also issues REST API keys, and they do not work here. The integration key belongs to one service and routes the incident to it; a REST key is account-wide and this action never uses one.
Jira
Create an issue, add a comment. Email plus an API token, and your own site address.
Create an API token
At id.atlassian.com → Security → API tokens, create a token and copy it. This is not your Atlassian password.
Find your project key
In Jira: Projects → View all projects. The Key column holds a short uppercase code such as
OPS— every issue is prefixed with it. It is not the project name.Connect
Base URL is your site:
https://your-site.atlassian.net. Username is your Atlassian email. Password is the API token.Run it
Run Create an issue with the project key, a summary, and an issue type. Issue type is required and must already exist in that project — commonly
Task,BugorStory, though a project can define its own.
Two things that look like the answer and are not
The project key is not the project name, and not the id in the address bar of Atlassian Home — that is a different product. If Jira answers "The target project doesn't exist or you don't have permission to create issues in it", the key is wrong.
ServiceNow
Read a table. Username and password, your instance address, and one role most people miss.
Grant the Basic-auth role
ServiceNow restricts Basic authentication to users holding a specific role. In the instance: All → Users, open the user, Roles → Edit, and add
snc_basic_auth_api_access.Make sure the password is settled
If the account was recently given a password by an administrator, ServiceNow marks it as needing a reset. Sign in as that user once and complete the change before using it here.
Connect and run
Base URL is your instance, e.g.
https://your-instance.service-now.com. Then run Read a table withincidentand a limit of1.
A 401 here rarely means the password is wrong
Without that role, ServiceNow answers "User is not authenticated · Required to provide Auth information" — the same message it gives for a genuinely wrong password, while the very same credentials sign in to the web interface perfectly well. If the password works in the browser but not here, check the role first.
Salesforce
Create a record. OAuth, which means an app registration rather than a password.
Create an External Client App
In Setup → App Manager, choose New External Client App. Newer orgs no longer offer "New Connected App" — this replaced it.
Enable OAuth
Under API (Enable OAuth Settings): turn OAuth on, set any callback URL (it is required but never used here), and add the scope Manage user data via APIs (api).
Enable the client-credentials flow
Still in settings, under Flow Enablement, tick Enable Client Credentials Flow. Save.
Set the Run As user
On the Policies tab, a Run As field now appears. It wants a Salesforce username, which looks like an email but usually carries a suffix — copy it from Setup → Users, not from your inbox.
Connect
Take the Consumer Key and Consumer Secret from the app. Base URL and Token URL are both your org's domain, the token URL ending
/services/oauth2/token.
Salesforce asks you to wait
A newly created app can take several minutes before it will issue a token. If the first attempt fails, wait and try once more before changing anything.
Zendesk
Create a ticket. An OAuth client, not an API token.
Create an OAuth client
In Zendesk: Admin Center → Apps and integrations → APIs → OAuth clients → Add OAuth client. Note this is the one under APIs, not the similarly named entry under Connections — that one is for Zendesk connecting outward.
Fill it in
Give it a name and description, set Client kind to Confidential, and put any redirect URL in — it is required and never used here. Save, then copy the Secret; it is shown once.
Note the identifier Zendesk actually saved
The Identifier is your client id, and Zendesk does not always keep what you typed. Read it back off the saved client rather than assuming.
Connect
Base URL is
https://your-subdomain.zendesk.com, and the Token URL is that address followed by/oauth/tokens. Client id is the identifier; client secret is the secret you copied.
API tokens are being retired
Zendesk is removing API tokens — existing ones stop working in April 2027, and newer accounts cannot create one at all. Password authentication is already gone: Zendesk accepts the request and quietly treats it as anonymous, so a call fails as though the password were wrong when in fact it was never checked. OAuth is the path Zendesk now points to, and the only one that works on a new account.
HubSpot
Create a contact. A private app token — not one of HubSpot's OAuth apps.
Create a private app
In HubSpot: Settings → Integrations → Private Apps → Create a private app. Give it a name.
Grant the scopes
On the Scopes tab, search for
contactsand tick crm.objects.contacts.read and crm.objects.contacts.write. Create the app and copy the token it shows.Connect and run
Paste the token. There is no base URL — HubSpot's is the same for everyone. Then run Create a contact with an email address.
Private app, not an OAuth app
HubSpot's OAuth is the browser-consent flow used by apps listed on their marketplace, and it asks for a client id and secret that a normal account does not issue for this purpose. Connecting your own HubSpot is exactly what private apps are for.
Microsoft 365
Send mail. An app registration, and one approval only an administrator can give.
Register the app
At entra.microsoft.com → App registrations → New registration, name it and register. Copy the Application (client) ID and the Directory (tenant) ID from the overview.
Create a secret
Certificates & secrets → New client secret. Copy the Value, not the Secret ID — they sit next to each other and only the Value works. It is shown once.
Add the permission and get it approved
API permissions → Add a permission → Microsoft Graph → Application permissions → Mail.Send. Then Grant admin consent. That button is greyed out unless you are an administrator; without the green tick the token arrives with no permission to send.
Connect and run
Token URL is
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token. Leave Scope blank. There is no base URL. From user must be a real licensed mailbox in your tenant, not any address.
Admin consent is not optional
Sending mail as an application always needs one administrator approval, once. There is no way around it, and no combination of settings substitutes for it.
Connectors not yet listed
Google Workspace, Workday and SAP are built but not offered yet. Google needs an authentication method the runtime does not implement, and Workday and SAP have no trial system, so neither could be verified against a real one before being offered. They will appear when that changes.
What happens on every call
| Field | What it does | Accepted values / default |
|---|---|---|
| Rate limit | Each spoke has a ceiling per minute, and your workspace has a daily ceiling across all of them. | The daily figure is shown at the top of the Integrations page. |
| Retry | Calls that fail for a reason worth retrying are retried with a widening gap. | A refusal — bad credentials, invalid input — is not retried. |
| Circuit breaker | A spoke that keeps failing is paused so it stops consuming your quota. | The card shows a breaker-open badge; it closes again on its own. |
| Audit | Connecting, disconnecting and every invocation are recorded. | Visible in the audit log and streamed to your SIEM if you have one configured. |
When a call fails
| Field | What it does | Accepted values / default |
|---|---|---|
| This connection cannot authenticate | The connection has no usable stored credential. | Disconnect and connect again — the credential did not save. |
| 401 from the vendor | The credential reached them and was refused. | Check you used the right KIND of credential — see the spoke's section above. |
| 400 or 422 from the vendor | They received the call and objected to its content. | The message names the field. It is quoted verbatim in the console. |
| Rate limit exceeded | The spoke's per-minute ceiling, or your daily one. | Wait, or reduce how often the workflow calls it. |
| Breaker open | Repeated failures paused the spoke. | Fix the underlying failure; the breaker closes without intervention. |
The error you see is the vendor's own
When a call is refused, the console shows the response body the other system sent, not a summary of it. That message names the field, the permitted values, or the missing permission — and is almost always enough to fix the problem without a second attempt.
Using a spoke in a workflow
A connection on its own does nothing. To put it to work, add a connector step to a workflow, choose the connection and the action, and map your record's fields onto the action's inputs.
Publishing needs a second pair of eyes
A workflow that calls out to another system, sends mail, notifies people, or runs an agent needs a second administrator to approve it before it goes live. This is a one-time check at publish, not per run — once published, the workflow runs on its own. Workflows that only touch records inside your workspace publish without it.
See Reference → Audit codes for the full list and what each one records.
Related