Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-pitch
n8n community node for Pitch — create presentations from templates with variable substitution, read deck content as Markdown, search, rename and move decks, manage folders, create sharing links with passcodes and expiry, and read their engagement analytics down to the time spent on each slide. Usable as AI Agent tools.
Built against the official Pitch public API (https://api.pitch.com/api/v1).
n8n is a fair-code licensed workflow automation platform.
Installation
In n8n: Settings → Community Nodes → Install, enter n8n-nodes-pitch.
Or manually on a self-hosted instance:
cd ~/.n8n/nodes
npm install n8n-nodes-pitch
Compatibility
- Requires n8n 1.x (built with the current
@n8n/node-clitoolchain, Node.js 22). - The Pitch API is available on Business and Enterprise plans.
Credentials
| Field | Description |
|---|---|
| API Key | Personal API key created in the Pitch app, sent as the X-API-KEY header. |
To create a key: in the Pitch app, open Settings, then under My settings open Integrations, and in My API keys select Add new. Copy the key right away — it is shown only once. If Add new is unavailable, a workspace admin must grant you key-creation permission.
Recommendations:
- API keys are personal and scoped to your own data in one workspace — the node sees exactly what the key's owner sees. For team automations, prefer a key created by an account that is a member of the relevant teamspaces.
- All keys of a user draw from one shared rate-limit allowance; the node surfaces a clear error when the API answers 429.
The credential Test button calls GET /workspaces/current, so a green check means the key is valid and tells you nothing less than a real request would.
Operations
Presentation
- Create From Template — start from a workspace or gallery template and substitute its variables (
{"customer_name": "ACME"}), one presentation per run or several in one job via JSON Parameters. Pick the target teamspace and folder from dropdowns (or leave them on Private Space). By default the node waits for the job and returns each created presentation with itstitle,editor_urlandplayer_url. - Get — editor/player URLs and metadata (breadcrumb, owner, author, edit history), plus optionally the content as Markdown (with or without hidden slides) and the in-use variables.
- Search — find presentations by title across everything the key can access; each hit carries a breadcrumb of the teamspace and folders holding it.
- Update Variables — update the text variables of an existing deck; only the variables you pass change.
- Rename — changes the file name (not the title on the slides).
- Move — move one or more presentations into a teamspace, folder or your private space.
Presentation Link
- Create / Update — sharing links with display name, custom slug, passcode, visitor-email gate, PDF download, duplication, engagement analytics (with optional visitor-consent requirement) and an expiry datetime. Links cannot be deleted through the API — Update with Disabled retires them and can re-enable them later.
- Get Many — list the links of a presentation.
- Get Analytics — visit counts over time (windowed: 24 hours … 90 days or all-time), median visit duration and slides-viewed percentage, plus an optional per-slide breakdown.
- Get Many Visits / Get Visit — individual visits, newest first, with device, browser, country, collected visitor email, and per-slide dwell time on the single-visit read.
Folder
- Get Many — folders of a teamspace or of your private space (flat, with
parent_id). - Rename / Move — moved folders take everything inside with them and get new UUIDs. Small synchronous moves report the old → new mapping in
moved_folders; large moves run as a job whose result only carries counts.
Template
- Get Many — published workspace templates, optionally with Pitch's built-in gallery.
- Get — one template with its variables (name, current value, type) — the names to feed Create From Template.
Teamspace
- Get Many / Get — the teamspaces of the workspace (hidden ones only for admins, owners and their members).
Workspace
- Get Current — the workspace the key is scoped to, with plan usage and quotas (members, teamspaces, AI credits, advanced links…).
Job
- Get — current status of an asynchronous job, including agent jobs started outside n8n (e.g. through Pitch's MCP server).
- Wait For Completion — poll a job until it finishes and return its final result.
Asynchronous jobs
Creating presentations, updating variables and large moves run as jobs on Pitch's side. The write operations wait for their job by default (poll every 2 s, Max Wait Time 120 s, configurable under Options) and return the final result; switch Wait For Completion off to get the job_id back immediately and check it later with the Job resource. A job that exceeds Max Wait Time keeps running server-side — the error message carries the job_id so nothing is lost.
After a Create From Template completes, the node reads each created presentation once more to return its title, editor_url and player_url. If the shared rate limit trips during that enrichment, the remaining items come back with their presentation_id only — the creation itself has already succeeded.
Use with AI agents
The node is marked usable as a tool, so an AI Agent can search decks, read their content as Markdown, create decks from templates or pull link analytics on demand. Every resource and operation carries a description written to help the model pick the right call. On self-hosted n8n, set N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true.
Usage examples
- Personalized sales decks at scale — a new deal reaches a CRM stage → Template: Get to see the variable names → Presentation: Create From Template with
customer_name,price,quarter→ Presentation Link: Create with a passcode and 30-day expiry → send the link by email. - Engagement-based follow-up — every morning, Presentation Link: Get Many Visits on active proposals; if a prospect spent more than two minutes (
duration_seconds) notify the account owner in Slack with the per-slide breakdown. - Content review — Presentation: Get with Include Content feeds the deck as Markdown to an LLM for tone or completeness checks, no export needed.
- Workspace housekeeping — decks whose title matches a naming pattern (Search) are renamed (Rename) and filed into the right teamspace folder (Move).
Known limitations
These are limits of the Pitch public API itself, not of this node:
- Read-only content: slide content is exposed as Markdown but cannot be written — no slide editing, adding, reordering or asset upload. Deterministic content changes go through template variables.
- AI generation and agent edits (
create-presentation-with-agent,edit-presentation-with-agent) are only startable through Pitch's MCP server — the node can, however, poll those jobs via the Job resource. - No deletion of presentations, folders or links (links are disabled instead), no folder creation, no PDF/PPTX export, no webhooks (poll with a Schedule Trigger instead).
Resources
Development
git clone https://github.com/BenNotix/n8n-nodes-pitch.git
cd n8n-nodes-pitch
npm ci
npm run build && npm run lint
npm run test:smoke # 68 end-to-end assertions against a mock Pitch API
Version history
See CHANGELOG.md for the release history.