CONNECT APP
Build with PDF Toolkit by CustomJS
Web & App Development
- API key
MCP
Give your agent PDF Toolkit by CustomJS tools
Every PDF Toolkit by CustomJS 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 PDF Toolkit by CustomJS 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": "customjs",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Convert HTML to PDF:
const result = await mcp.callTool({
name: "customjs-convert-html-to-pdf",
arguments: {
html: "HTML",
filename: "Filename",
},
})# 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": "customjs",
}
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 Convert HTML to PDF:
result = await session.call_tool("customjs-convert-html-to-pdf", {
"html": "HTML",
"filename": "Filename",
})API PROXY
Call the PDF Toolkit by CustomJS API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the PDF Toolkit by CustomJS 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 PDF Toolkit by CustomJS 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 PDF Toolkit by CustomJS actions from your backend
Connect a user's PDF Toolkit by CustomJS account once, then run Convert HTML to PDF 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: "customjs-convert-html-to-pdf",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
customjs: { authProvisionId: "apn_xxxxxxx" },
html: "HTML",
filename: "Filename",
},
})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="customjs-convert-html-to-pdf",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"customjs": {"authProvisionId": "apn_xxxxxxx"},
"html": "HTML",
"filename": "Filename",
},
)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": "customjs-convert-html-to-pdf",
"configured_props": {
"customjs": { "authProvisionId": "apn_xxxxxxx" },
"html": "HTML",
"filename": "Filename"
}
}'TOOLS
PDF Toolkit by CustomJS actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Convert HTML to PDF
actionConverts an HTML string to a PDF document. See the documentationRead-onlyv0.0.5 -
Convert HTML to PNG
actionConverts an HTML string to a PNG image. See the documentationRead-onlyv0.0.4 -
Create Screenshot
actionCreate a screenshot of a website. See the documentationWritev0.0.5 -
Merge PDFs
actionMerges multiple PDF documents into one. See the documentationWritev0.0.5 -
Run Puppeteer
actionRun Puppeteer. See the documentationWritev0.0.4
EVENTS
PDF Toolkit by CustomJS triggers
Event sources your backend can deploy for users and receive through a webhook.
No PDF Toolkit by CustomJS triggers are available yet.
REFERENCE
App details
Reference metadata for the PDF Toolkit by CustomJS connector in the Pipedream registry.
- App slug
- customjs
- Authentication
- API key
- Categories
- Web & App Development
- Actions
- 5
- Triggers
- 0
- API proxy
- Available