CONNECT APP
Build with Polly.Help
Help Desk & Support
- API key
MCP
Give your agent Polly.Help tools
Every Polly.Help action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Polly.Help account for each tool call — you store no tokens.
// 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": "polly_help",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Get Article:
const result = await mcp.callTool({
name: "polly_help-get-article",
arguments: {
articleId: "Article ID",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"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": "polly_help",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Get Article:
result = await session.call_tool("polly_help-get-article", {
"articleId": "Article ID",
})API PROXY
Call the Polly.Help API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Polly.Help API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Polly.Help endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Polly.Help actions from your backend
Connect a user's Polly.Help account once, then run Get Article on their behalf from your own code — TypeScript, Python, or plain HTTP.
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: "polly_help-get-article",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
polly_help: { authProvisionId: "apn_xxxxxxx" },
articleId: "Article ID",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="polly_help-get-article",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"polly_help": {"authProvisionId": "apn_xxxxxxx"},
"articleId": "Article ID",
},
)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": "polly_help-get-article",
"configured_props": {
"polly_help": { "authProvisionId": "apn_xxxxxxx" },
"articleId": "Article ID"
}
}'TOOLS
Polly.Help actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Get Article
actionRetrieve full article content by ID. Returns the article's name, slug, schema elements (content blocks withrender_typeandcontentfields), custom fields, attachments, and the collection IDs it belongs to. Use after Search Publication to fetch complete content for a specific article. To explore a collection the article belongs to, pass acollections[].idto Get Collection. See the documentationRead-onlyv0.0.2 -
Get Collection
actionRetrieve a collection by ID. Returns the collection's description, a lightweight article list (id, name, slug), and parent/child collection group relationships for hierarchy navigation. To find a collection ID: run Search Publication — each result includescollections[].id, or call Get Article and extractcollections[].id. To get full content for a listed article, pass itsidto Get Article. See the documentationRead-onlyv0.0.2 -
Search Publication
actionSearch a publication for articles by keyword or phrase. Returns matching articles with ID, name, slug, content snippet, schema elements (content blocks), and collection IDs. Use this as the first step when finding articles by topic — pass a returned articleidto Get Article for full content, or acollections[].idto Get Collection to explore the collection it belongs to. See the documentationRead-onlyv0.0.2
EVENTS
Polly.Help triggers
Event sources your backend can deploy for users and receive through a webhook.
No Polly.Help triggers are available yet.
- App slug
- polly_help
- Authentication
- API key
- Categories
- Help Desk & Support
- Actions
- 3
- Triggers
- 0
- API proxy
- Available