About Brex
Brex is a corporate card and spend-management platform. Serval’s Brex integration connects with a single Brex user API token and covers nine areas of the Brex platform - team, expenses, budgets, transactions, payments, accounting, travel, custom fields, and onboarding - so your workflows can read and update Brex data whenever they run. Everything happens live against Brex; there is nothing to import or schedule. Authentication: Brex user API token, pasted into Serval and sent as a secure bearer credential on every request. There is no OAuth sign-in flow. Data sync: On demand only. Serval contacts Brex exclusively when a workflow step runs - there is no background sync, no polling schedule, and no webhooks from Brex.What the Brex integration enables
| Capability | Description |
|---|---|
| Team, users, and cards | View, invite, and update employees (including setting per-user monthly limits); view and create departments, locations, and titles; view legal entities and company details; and manage cards - including create, update, lock, unlock, and terminate. |
| Expenses | List, review, and update expenses, match receipts to card expenses, and upload receipts. |
| Budgets and spend limits | Create, view, update, and archive budgets and spend limits, and create, update, or delete budget programs. |
| Accounts and transactions | List card and cash accounts, statements, and transactions. |
| Payments and vendors | Create and view transfers, create incoming transfers to fund your Brex account, view linked accounts, and manage vendors. |
| Accounting | Set up, disconnect, and reactivate accounting integrations, query accounting records, and report export results. |
| Travel | View trips and their bookings. |
| Custom fields | Manage custom field definitions and their values. |
| Onboarding | Create and track referrals and upload referral documents. |
Get your credentials
Serval connects to Brex with a user API token that you generate in the Brex dashboard. The token’s enabled permission scopes determine exactly what Serval can read or write - nothing more. See the Brex authentication documentation for background, or the Brex Developer Portal for the full platform reference.Sign in to Brex
Open the Brex Dashboard and sign in.
Open the developer settings
Navigate to Developer > Settings in the Brex dashboard - the developer settings page.
Select permission scopes
Choose the scopes your workflows need. At minimum, grant read access for Users, Cards, Card Accounts, and Departments - these four are required for Serval’s connection health checks to pass.
Connect in Serval
Paste your token
Paste the token into the API Token field. It is the only field, it is required (marked with an asterisk), and it hides what you type like a password. The helper text under the field reads “Generate a user token from your Brex dashboard at Developer > Settings”. Paste carefully: the form does not check the token when you submit, so even a blank or mistyped value saves successfully.
Save the connection
Save the form. If saving fails, you may see “Failed to install integration” or “Failed to save configuration. Please try again.”
Verifying the connection
The Brex integration ships four health checks. Run them right after connecting and after any edit to the connection. List Brex Users - confirms the token is valid and can list the users in your Brex account.- Success: “Successfully listed users from Brex (sample size: [number])”
- Failure: “Unable to list users from Brex. Please verify your API token is valid and has the ‘users.read’ scope enabled.”
- Success: “Successfully listed cards from Brex (sample size: [number])”
- Failure: “Unable to list cards from Brex. Please verify your API token has the ‘cards.read’ scope enabled.”
- Success: “Successfully listed card accounts from Brex (count: [number])”
- Failure: “Unable to list card accounts from Brex. Please verify your API token has the ‘accounts.card.read’ scope enabled.”
- Success: “Successfully listed departments from Brex (sample size: [number])”
- Failure: “Unable to list departments from Brex. Please verify your API token has the ‘departments.read’ scope enabled.”
Gotchas and troubleshooting
Always re-enter the full token when editing the connection
Always re-enter the full token when editing the connection
The token appears masked when you open the connection settings. Saving the form without replacing the masked value with the complete token can leave the connection without a working credential, and workflows will start failing. Whenever you edit this connection for any reason, click the replace control, paste the entire token (or the new one, if rotating), save, and confirm all four health checks pass.
A bad token is not caught when you connect
A bad token is not caught when you connect
Serval accepts whatever you paste at install time - a typo, a truncated paste, an already-revoked token, or even an empty field will all save successfully. The problem only surfaces when the health checks run or a workflow calls Brex. Always run the health checks immediately after connecting.
Serval can only do what the token's scopes allow
Serval can only do what the token's scopes allow
Access is exactly the token’s enabled Brex scopes, evaluated per area. A token can pass the users check yet fail the cards check, or pass all four health checks yet fail on an expenses workflow. If a workflow gets permission errors from Brex, grant the relevant scope in the Brex dashboard; if you create a new token to do it, update the connection in Serval with the full new token.
Brex lists return one page at a time
Brex lists return one page at a time
Brex list results are paginated with a cursor: each response includes a batch of items plus a pointer to the next page. A single workflow step returns only one page, so workflows that need everything must loop and follow the next-page cursor until there are no more pages. If a workflow seems to be “missing” records, pagination is the usual cause.
The token is only ever sent to Brex's official hosts
The token is only ever sent to Brex's official hosts
Serval attaches your token exclusively to requests bound for Brex’s official API hosts: platform.brexapis.com and its secure companion host, secure-platform.brexapis.com (the host Brex uses for PCI-sensitive card-number retrieval). The integration’s built-in actions all target Brex’s main API host; requests to any other destination never receive the credential.
Need help? Contact support@serval.com for assistance with your Brex integration.

