Skip to content

Products

Compliance Officer Service Expert-led compliance, end to end Compliance Portal Share security documents securely Access Review Monitor user access across all your systems AI Agents Your compliance program, inside your AI agent 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

Twingate

Connect Twingate as an access source using a read-only API token and your network name, so Probo can list the users on your Twingate network along with their role and account state.

View as Markdown

Probo reads the users on your Twingate network through the Twingate API so you can review who has access.

  • Probo organization administrator access
  • Access to your Twingate Admin Console settings, where you generate API tokens
  • A Read only API token
  • Your Twingate Network name, the label in front of .twingate.com in your Admin Console address. For acme.twingate.com the network name is acme
Probo fieldTwingate fieldNotes
NamefirstName, lastNameA user with neither is listed under their email address
Emailemail
RoleroleADMIN, DEVOPS, SUPPORT, HELPDESK, ACCESS_REVIEWER, BILLING and MEMBER map to Admin, DevOps, Support, Helpdesk, Access Reviewer, Billing and Member. A role Twingate adds later is passed through as Twingate spells it
AdminisAdminTwingate reports this alongside the role and sets it for administrative roles beyond ADMIN, a DEVOPS user included, so Probo passes the flag through rather than reading it off the role
StatusstateACTIVE is listed as active. PENDING (invited but not joined) and DISABLED are listed as inactive
MFANot supported
Last loginNot supported
External IDidStable identifier used to track the account across reviews
Created atcreatedAtWhen the user was added to the network

Probo also reads Twingate’s type field. A user provisioned by your identity provider is recorded as signing in through SSO. For a user an administrator added by hand, Probo records no sign-in method, because the field describes how the record was created and not how the person authenticates.

Service accounts are a separate type in Twingate and are not part of this roster. A Twingate campaign therefore covers people, not machine credentials.

  1. In the Twingate Admin Console, go to Settings > API.
  2. Click Generate Token and name it, for example Probo Access Review.
  3. Choose the Read only permission level.
  4. Leave the source address restriction at its default so Probo can reach the API.
  5. Copy the token and store it securely.
  1. In Probo, go to Access Review > Connections.
  2. Find Twingate, click API Key, paste the token, enter your Network name (the label in front of .twingate.com in your Admin Console address), and click Connect.

Probo names the source after your Twingate network and pulls its users into your campaigns.

  • Key rejected. Confirm the token was copied whole and has not been revoked, and that any source address restriction on it allows Probo’s requests.
  • Connection fails with the token accepted elsewhere. Check the Network name. A network that does not exist fails the connection instead of returning an empty campaign, so a typo shows up as soon as you connect.
  • A large network fails to sync. Twingate limits reads to 60 a minute per account by default, so Probo spaces its requests to stay inside that limit. Probo also gives one source two minutes to return its roster, which together put the practical ceiling at roughly ten thousand users. Past that the sync fails rather than returning a partial list, so a campaign never runs on an incomplete roster.