Brex ACTION
Search Expenses
Searches expenses across card, bill pay, and reimbursement spend by merchant, amount, date, person, type, or status. Covers every payment method and carries receipt and approval state; use Search Card Transactions for settled card postings only. See the documentation
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Brex account once, then configure and run Search Expenses from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "brex-search-expenses",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
brex: { authProvisionId: "apn_xxxxxxx" },
purchasedAtStart: "Purchased At Start",
purchasedAtEnd: "Purchased At End",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "brex-search-expenses",
"configured_props": {
"brex": { "authProvisionId": "apn_xxxxxxx" },
"purchasedAtStart": "Purchased At Start",
"purchasedAtEnd": "Purchased At End"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "brex",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "brex-search-expenses",
arguments: {
purchasedAtStart: "Purchased At Start",
purchasedAtEnd: "Purchased At End",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
purchasedAtStart Purchased At Start | string | Only return expenses purchased on or after this date-time, in RFC 3339 format, e.g. 2024-01-01T00:00:00.000Z. Optional |
purchasedAtEnd Purchased At End | string | Only return expenses purchased on or before this date-time, in RFC 3339 format, e.g. 2024-01-31T23:59:59.999Z. Optional |
userIds Users | string[] | Only return expenses belonging to these people, e.g. ["cuuser_example"]. Use List Users to find a user ID by email address. Optional |
expenseType Expense Type | string[] | Only return expenses of these types. Optional |
status Status | string[] | Only return expenses in these expense statuses. Optional |
paymentStatus Payment Status | string[] | Only return expenses in these payment states. Optional |
merchantQuery Merchant | string | Case-insensitive substring match on the merchant descriptor, e.g. amazon matches AMAZON WEB SERVICES. Brex has no server-side merchant filter, so this is applied after fetching. Optional |
minAmount Min Amount | integer | Only return records of at least this amount, in the currency's smallest denomination — 700 is $7.00 in USD. Applied after fetching, like Merchant. Optional |
maxAmount Max Amount | integer | Only return records of at most this amount, in the currency's smallest denomination — 700 is $7.00 in USD. Applied after fetching, like Merchant. Optional |
maxResults Max Results | integer | The maximum number of records to return, from 1 to 2000. Defaults to 100. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- brex-search-expenses
- Version
- 0.0.1
- App
- Brex
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗