Ashby Job Postings ACTION
List Job Postings
Lists every published job posting on the Ashby job board configured for the connected account. Use this to browse open roles, or to filter by department, team, location, workplace type, or employment type before drilling into one posting with Get Job Posting. The public Job Board API exposes a single non-paginated endpoint that returns all postings, so every filter here is applied client-side after the full list is fetched. See the documentation
- Action
- Read only
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Ashby Job Postings account once, then configure and run List Job Postings 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: "ashby_job_postings_api-list-job-postings",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
ashby_job_postings_api: { authProvisionId: "apn_xxxxxxx" },
includeCompensation: true,
department: "Department",
},
})
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": "ashby_job_postings_api-list-job-postings",
"configured_props": {
"ashby_job_postings_api": { "authProvisionId": "apn_xxxxxxx" },
"includeCompensation": true,
"department": "Department"
}
}'// 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": "ashby_job_postings_api",
},
},
},
)
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: "ashby_job_postings_api-list-job-postings",
arguments: {
includeCompensation: true,
department: "Department",
},
})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 |
|---|---|---|
includeCompensation Include Compensation | boolean | Set to true to include each posting's compensation object (tier summary and pay range breakdown) in the response. Defaults to false. Optional |
department Department | string | Optional client-side filter. Return only postings whose flat department field exactly matches this value (e.g. Engineering). Case-sensitive exact match applied after fetching all postings. Optional |
team Team | string | Optional client-side filter. Return only postings whose flat team field exactly matches this value (e.g. Platform). Applied after fetching all postings. Optional |
location Location | string | Optional client-side filter. Return only postings whose location field contains this value (case-insensitive). The API returns values like "Houston, TX" — a partial value like "Houston" will match. Applied after fetching all postings. Optional |
workplaceType Workplace Type | string | Optional client-side filter on the workplaceType field. One of OnSite, Remote, Hybrid. Optional |
employmentType Employment Type | string | Optional client-side filter on the employmentType field. One of FullTime, PartTime, Intern, Contract, Temporary. Optional |
title Title | string | Filter to postings whose title contains this value, case-insensitive, e.g. Engineer matches "Senior Software Engineer". Applied client-side after fetching all postings. Optional |
jobUrl Job URL | string | The exact public URL of one specific job posting, e.g. https://jobs.ashbyhq.com/Ashby/f050b8c1-243f-4841-b47e-e13cd2a49af0. Use List Job Postings to find the jobUrl of the posting you want. 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
- ashby_job_postings_api-list-job-postings
- Version
- 0.0.2
- App
- Ashby Job Postings
- Authentication
- API key
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗