Salesforce ACTION
Get Knowledge Articles
Retrieve a page of online Knowledge articles for a language and data category, by search or query. Use List Knowledge Data Category Groups to discover valid category values first, and List Knowledge Articles to browse article records instead. Returns published article content, so responses can be large - narrow by category or search term. See the documentation
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Salesforce account once, then configure and run Get Knowledge Articles 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: "salesforce_rest_api-get-knowledge-articles",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
salesforce_rest_api: { authProvisionId: "apn_xxxxxxx" },
language: "Language",
q: "Search Term",
},
})
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": "salesforce_rest_api-get-knowledge-articles",
"configured_props": {
"salesforce_rest_api": { "authProvisionId": "apn_xxxxxxx" },
"language": "Language",
"q": "Search Term"
}
}'// 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": "salesforce_rest_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: "salesforce_rest_api-get-knowledge-articles",
arguments: {
language: "Language",
q: "Search Term",
},
})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 |
|---|---|---|
language Language | string | The language code. Defaults to en-US. Optional |
q Search Term | string | Performs an SOSL search. If this property is not set, an SOQL query runs. The characters ? and * are used for wildcard searches. The characters (, ), and " are used for complex search terms. See the documentation. Optional |
channel Channel | string | Where articles are visible (App, Pkb, Csp, Prm). Optional |
categories Categories | string | This should be a map in json format {"group1": "category1", "group2": "category2", ...}. It must be unique in each group:category pair, otherwise you get ARGUMENT_OBJECT_PARSE_ERROR. There is a limit of three data category conditions, otherwise you get INVALID_FILTER_VALUE. Optional |
queryMethod Query Method | string | Only valid when categories are specified, defaults to ABOVE_OR_BELOW. Optional |
sort Sort By | string | Field to sort results by. Defaults to LastPublishedDate for query and relevance for search 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
- salesforce_rest_api-get-knowledge-articles
- Version
- 0.0.6
- App
- Salesforce
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗