Writer ACTION
Ask Knowledge Graph
Ask a natural-language question grounded in one or more of your Writer Knowledge Graphs (RAG). Returns an answer with its sources. Use List Knowledge Graphs first to resolve the graph
id(s) you want to query. For free-form generation not grounded in your documents, use Send Prompt instead. Example: call with graphIds=["a1b2..."] and question="What are the park hours?" -> returns { question, answer, sources, references }. If a graph has no relevant content it returns a graceful 'no relevant information' answer rather than an error. See the documentation- Action
- Read only
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Writer account once, then configure and run Ask Knowledge Graph 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: "writer-ask-knowledge-graph",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
writer: { authProvisionId: "apn_xxxxxxx" },
graphIds: ["Graph IDs"],
question: "Question",
},
})
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": "writer-ask-knowledge-graph",
"configured_props": {
"writer": { "authProvisionId": "apn_xxxxxxx" },
"graphIds": ["Graph IDs"],
"question": "Question"
}
}'// 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": "writer",
},
},
},
)
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: "writer-ask-knowledge-graph",
arguments: {
graphIds: ["Graph IDs"],
question: "Question",
},
})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 |
|---|---|---|
graphIds Graph IDs | string[] | One or more Knowledge Graph UUIDs to query (at least one). Resolve ids with List Knowledge Graphs. Required |
question Question | string | The natural-language question to answer from the selected Knowledge Graph(s). Example: What are the park hours? Required |
subqueries Subqueries | boolean | Whether to break the question into subqueries for a more thorough search. Defaults to false. Optional |
queryConfig Query Config | object | Advanced configuration for the Knowledge Graph query, controlling search behavior, grounding, and citations. All keys are optional — supply only the ones you want to override. Supported keys:
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
- writer-ask-knowledge-graph
- Version
- 0.0.2
- App
- Writer
- Authentication
- API key
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗