Obolus ACTION
Compare Salary Across Countries
Use this when the user asks to compare salary, net income, tax burden, or social contributions across multiple countries. This is the default action for prompts like "compare a EUR 50,000 salary in Germany, Ireland, the United States, and Canada". Do not use Calculate Net Salary for multi-country comparisons unless the user asks for detailed payroll in one specific country. See the documentation
- Action
- Read only
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Obolus account once, then configure and run Compare Salary Across Countries 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: "obolus-taxcompare",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
obolus: { authProvisionId: "apn_xxxxxxx" },
grossMode: "Gross Mode",
annualGross: "Annual Gross Salary",
},
})
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": "obolus-taxcompare",
"configured_props": {
"obolus": { "authProvisionId": "apn_xxxxxxx" },
"grossMode": "Gross Mode",
"annualGross": "Annual Gross Salary"
}
}'// 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": "obolus",
},
},
},
)
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: "obolus-taxcompare",
arguments: {
grossMode: "Gross Mode",
annualGross: "Annual Gross Salary",
},
})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 |
|---|---|---|
grossMode Gross Mode | string | shared_gross compares one annual salary across every selected country. local_median_gross ignores Annual Gross Salary and compares country-specific editorial median salary benchmarks. Required |
annualGross Annual Gross Salary | string | Shared annual gross salary to compare across the selected countries, in major currency units, e.g. 60000 for EUR 60,000. Do not enter cents. Required for shared_gross; ignored for local_median_gross. Optional |
taxYear Tax Year | string | Tax year for the cross-country comparison, e.g. 2026. Required |
currency Currency | string | Currency for the shared salary input and normalized comparison output, in lower-case ISO style. Required |
countries Countries | string[] | Two or more country codes to compare. Use this list whenever the prompt names multiple countries, e.g. DE, IE, US, CA. Required |
showAdvancedInputs Show Advanced Inputs | boolean | Reveal broad comparison assumptions such as joint assessment, children, and raw JSON overrides. For detailed country-specific payroll fields, use Calculate Net Salary instead. 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
- obolus-taxcompare
- Version
- 0.0.2
- App
- Obolus
- Authentication
- API key
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗