Skip to content

Products

Compliance Officer Service Expert-led compliance, end to end Compliance Portal Share security documents securely Open-source platform Deploy Probo on your own infrastructure

Resources

Probo stories How teams get compliant with Probo Blog Ideas and guidance from the Probo team Guides & tools Practical compliance guides and free tools Love from Customers What customers say about working with Probo Changelog Latest product updates Download Get the Probo Agent

Company

About The people and vision powering Probo Careers Join the team building Probo Brand assets Official logos and visual resources Security Review our security and compliance posture
Overview Understand Probo and its core concepts Product Explore Probo's GRC capabilities Developers Explore GraphQL, CLI, MCP, n8n, and webhooks Deployment Probo Cloud, self-hosting, and configuration

Explore

GitHub Explore our open-source compliance tools

n8n authentication

Authenticate the Probo n8n nodes with a scoped OAuth token

View as Markdown

The Probo n8n nodes authenticate with an OAuth 2.0 access token created in the Probo UI and stored in an n8n credential. The token is static: n8n sends it as a bearer credential but does not run an interactive authorization flow or refresh it automatically.

Every Probo API request includes:

Authorization: Bearer <oauth-token>

Effective access is the intersection of the token’s OAuth scopes and the underlying user’s current Probo permissions. The token cannot access an organization or perform an operation that its user cannot otherwise access.

The server and OAuth token must belong to the same Probo deployment:

https://us.probo.com

Enter the origin only. Do not append /api, a GraphQL path, or a trailing route. The node selects the API path for each operation.

  1. Sign in to the Probo deployment that contains the data.
  2. Open your account menu and select OAuth tokens.
  3. Select Create token.
  4. Enter a purpose-specific name such as n8n production – compliance sync.
  5. Choose an expiration and only the scopes required by the workflow.
  6. Create and copy the token. Probo displays its value only once.

Create a separate token for each n8n environment. Separate tokens provide independent scopes, expiration, audit history, and revocation boundaries.

Resource scopes use two forms:

  • v1:<resource>:read permits read operations for that resource family.
  • v1:<resource> permits both read and write operations for that family.

For example:

Workflow capability Scope examples
Credential test and organizations v1:iam:read for reads or v1:iam for writes
Read or change risks v1:risk:read or v1:risk
Read or change third parties v1:third-party:read or v1:third-party
Read or change documents v1:document:read or v1:document
Read or change tasks v1:task:read or v1:task
Activate and manage Probo Trigger v1:webhook

Other families include asset, audit, control, privacy, access-review, itam, and compliance-page. The scope list shown when creating the token is authoritative for that deployment.

The n8n credential test queries the authenticated identity, so include v1:iam:read or v1:iam even when the workflow primarily uses another resource family. A write scope includes that family’s read operations; you do not need to select both forms.

  1. Open a Probo node

    Add Probo or Probo Trigger to a workflow.

  2. Create a Probo credential

    Open Credential and select Create New Credential. Use a name that identifies the deployment and environment, such as Probo EU – production.

  3. Set the server and OAuth token

    Field Value
    Probo Server https://us.probo.com, https://eu.probo.com, or the origin of your self-hosted deployment
    OAuth Token Scoped OAuth token created on that deployment
  4. Test the credential

    Select Test. n8n sends a viewer { id } query to:

    <Probo Server>/api/console/v1/graphql

    A successful test proves that n8n can reach the deployment and that the token includes an IAM scope accepted by the identity query. It does not test access to a particular organization or operation.

  5. Save and test a read operation

    Save the credential, then run Organization → Get Many or another read-only operation before testing writes or activating a trigger.

All Probo nodes can reuse the credential:

Node or operation Request made with the OAuth token
Dedicated Probo actions Console GraphQL API at /api/console/v1/graphql
Execute → Console API Custom operation at /api/console/v1/graphql
Execute → Connect API Custom operation at /api/connect/v1/graphql
Probo Trigger activation Creates, checks, and deletes a webhook subscription through the Console GraphQL API
Probo Trigger event delivery Does not send the OAuth token; Probo signs the delivery with the subscription’s signing secret

Updating or revoking the OAuth token does not invalidate an already delivered webhook signature. It does affect the trigger’s next subscription check, reconfiguration, or deletion.

Credential testing does not prove that every workflow operation is authorized.

Effective access is the intersection of:

  1. The resource scope granted to the OAuth token.
  2. The token user’s current membership in the target organization.
  3. The user’s permission for the requested read, create, update, publish, archive, delete, or specialized operation.

For example, a token can pass the credential test but fail Risk → Create when it has only v1:risk:read, or when its user cannot create risks in the selected organization. Probo Trigger requires both the v1:webhook scope and the user’s permission to create and delete webhook subscriptions.

To reduce access:

  • Grant only the resource scopes needed by the workflow.
  • Prefer :read scopes when the workflow does not write.
  • Use a Probo user with only the memberships and permissions required by the automation.
  • Separate workflows with materially different privilege levels into different n8n credentials and, where appropriate, different Probo identities.
  • Revoke tokens before removing or deactivating the user that created them.

Permission and membership changes apply to subsequent API requests; the token does not preserve access the user no longer has.

UI-created OAuth tokens have an explicit expiration and no refresh token. n8n cannot extend or refresh them.

Rotate without interrupting scheduled workflows:

  1. Create a replacement OAuth token on the same deployment with the required scopes.
  2. Replace the token in the existing n8n credential.
  3. Test the credential and execute a representative read operation.
  4. Test an authorized write in a safe environment when the workflow writes data.
  5. Confirm active trigger workflows can still check their subscriptions.
  6. Revoke the old token under OAuth tokens.

Revoke a token immediately when it is exposed, its workflow is retired, or its user should no longer be represented by the automation. Revocation is not a pause: requests using that token stop authenticating and it cannot be restored.

For a self-hosted Probo deployment, use the origin reachable from every n8n process that executes a Probo node, for example https://probo.internal.example.com. The n8n main process and workers must:

  • Resolve the hostname.
  • Reach the server through applicable network and firewall rules.
  • Trust the server’s TLS certificate chain.
  • Preserve the Authorization header through any reverse proxy.

The credential test targets:

https://probo.internal.example.com/api/console/v1/graphql

Probo Trigger requires bidirectional connectivity. n8n must reach Probo to manage the subscription, while Probo must reach n8n’s production webhook URL over HTTPS to deliver events. The inbound webhook uses its own signature, not the OAuth token.

Symptom Likely cause
Credential test cannot connect Invalid server origin, DNS failure, untrusted TLS certificate, proxy, or firewall
Credential test reports authentication error Malformed, expired, revoked, or wrong-deployment token
Credential test reports insufficient scope Token is missing v1:iam:read or v1:iam
Test passes but an operation is forbidden Missing resource scope, organization membership, or user permission
Resource is not found Wrong resource ID, wrong organization, or a resource hidden by the authorization boundary
Execute works for Console but not Connect The operation is absent from that API or the token does not authorize it
Trigger activation fails Missing v1:webhook, missing user permission, incorrect organization ID, or invalid n8n production webhook configuration

Changing bearer formatting does not fix an authorization failure after the credential test succeeds. Check the selected deployment, token expiration, granted scopes, organization, and the user’s current permissions.