Slab ACTION
Get Posts
Get one or more Slab posts by their IDs, returning full post objects including content, owner, and associated topics. Use Search Posts first to discover post IDs; this action does not list or search. Accepts up to 100 IDs per call. Example: postIds
["abc123"] returns [{"id": "abc123", "title": "Engineering Onboarding Guide", "owner": {"id": "u1", "name": "Alice"}, "topics": [{"id": "abc12def", "name": "Engineering"}], "content": "..."}]. Pass Fields (e.g. ["id","title","owner"]) to trim large fields like content from each result when only metadata is needed. See the documentation.- Action
- Read only
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Slab account once, then configure and run Get Posts 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: "slab-get-posts",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
slab: { authProvisionId: "apn_xxxxxxx" },
postIds: ["Post IDs"],
fields: ["Fields"],
},
})
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": "slab-get-posts",
"configured_props": {
"slab": { "authProvisionId": "apn_xxxxxxx" },
"postIds": ["Post IDs"],
"fields": ["Fields"]
}
}'// 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": "slab",
},
},
},
)
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: "slab-get-posts",
arguments: {
postIds: ["Post IDs"],
fields: ["Fields"],
},
})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 |
|---|---|---|
postIds Post IDs | string[] | One or more Slab post IDs to retrieve (max 100). Run Search Posts first to obtain valid post IDs (e.g. abc123), then paste them here. Free-form input; no dropdown is provided. Required |
fields Fields | string[] | Optional list of top-level post fields to include in each result (e.g. ["id","title","owner"]). Omit to return the full post object for each result (default), including the potentially large content field. 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
- slab-get-posts
- Version
- 0.1.0
- App
- Slab
- Authentication
- API key
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗