Paperless.io integration
Paperless.io runs digital documents, forms and legally binding e-signatures. Find templates and documents, create a draft document from a template with its participants, variables and field defaults, send (dispatch) or cancel it, follow each participant's progress, read the submission with its signed PDF links, manage templates, start process runs and subscribe webhooks to document events. Left out: file uploads and the PDF-based creation that needs them, the create-options pre-flight request, submitted form values (they can hold bank details and signatures), the API-version header, and participants' access tokens and signing links, so documents are always delivered by Paperless email. Authentication is an API key created in Paperless (profile menu, Integrations, API panel), enabled per feature (document, template, submission, webhook, process run read or write), sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with Paperless.io
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Document, 9 operations
cancel_documentCancel documentPATCHAgents: ask firstCancels a dispatched, not yet completed document: participants who have not completed are disabled and everyone already emailed gets a cancellation email. Fails (422) on a draft or completed document.create_documentCreate documentPOSTAgents: ask firstCreates an empty draft document from scratch (no participants or fields; build it in the Paperless editor). To start from a template use create_document_from_template. Returns the document.create_document_from_templateCreate document from templatePOSTAgents: ask firstCreates a draft document from a template, filling participants (by slot name), variables and input defaults. Sends nothing: call dispatch_document to send it. Returns the document.delete_documentDelete documentDELETEAgents: ask firstDeletes a document: it is marked deleted at once and permanently removed by Paperless after a retention period; it cannot be restored through these tools. Returns an empty object.dispatch_documentDispatch documentPATCHAgents: ask firstSends a draft document: Paperless emails the first participants a link to fill in and sign it. Fails (422) when a participant lacks a name or email, a variable has no value, or it was already sent.duplicate_documentDuplicate documentPOSTAgents: ask firstCreates a draft copy of an existing document, optionally overriding participants, variables and input defaults. Sends nothing: call dispatch_document to send it. Returns the new document.get_documentGet documentGETAgents: ask firstReturns one document: name, state (draft, dispatched, completed...), dates, locales, settings and its submission_id. Participants are returned by get_document_participants.list_documentsList documentsGETAgents: ask firstLists the documents you can access, 20 per page by default (at most 100), without their participants. Archived documents are left out unless archived is true; filter by state, workspace or template.update_documentUpdate documentPATCHAgents: ask firstChanges a document's name, texts, locales, settings, participants, variables or input defaults; fields left out keep their value. To send or cancel it use dispatch_document or cancel_document.
Template, 7 operations
create_templateCreate templatePOSTAgents: ask firstCreates an empty template from scratch (add its content, recipients and fields in the Paperless editor). To copy one use duplicate_template or create_template_from_document. Returns the template.create_template_from_documentCreate template from documentPOSTAgents: ask firstCreates a template from the contents of an existing document. Returns the new template.delete_templateDelete templateDELETEAgents: ask firstDeletes a template: it is marked deleted at once and permanently removed by Paperless after a retention period; it cannot be restored through these tools. Returns an empty object.duplicate_templateDuplicate templatePOSTAgents: ask firstCreates a copy of an existing template, optionally with a new description, locale and settings. Returns the new template.get_templateGet templateGETAgents: ask firstReturns one template: name, description, workspace, locales, settings and how many documents were made from it.list_templatesList templatesGETAgents: ask firstLists the templates you can access, 20 per page by default (at most 100), with name, workspace, usage count and settings. Use get_template_participants and get_template_tokens before creating documents.update_templateUpdate templatePATCHAgents: ask firstChanges a template's name, description, locales, settings, reminders or localized names; fields left out keep their value. Documents already created from it are not changed.
Webhook, 5 operations
create_webhookCreate webhookPOSTAgents: ask firstSubscribes a URL to Paperless events (document created, updated, deleted, submission completed or declined, participant completed). Paperless POSTs {event, object} JSON with the full record to it, unsigned.delete_webhookDelete webhookDELETEAgents: ask firstDeletes a webhook; Paperless stops posting its events. Returns an empty object.get_webhookGet webhookGETAgents: ask firstReturns one webhook: the integration it belongs to, its subscribed events and the URL events are posted to.list_webhooksList webhooksGETAgents: ask firstLists the webhooks of one integration (OAuth application), 20 per page by default (at most 100). Returns an empty list when your key may not read that integration's webhooks.update_webhookUpdate webhookPATCHAgents: ask firstChanges a webhook's subscribed events or URL; fields left out keep their value. Returns the webhook.
Document participant, 1 operation
get_document_participantsGet document participantsGETAgents: ask firstReturns a document with its participants: who they are, their role and how far each has got (opened, started, completed, disabled). Returns personal data (names, emails); signing links are not included.
Process run, 1 operation
start_process_runStart process runPOSTAgents: ask firstStarts a run of a process definition's published version, which can create and send documents, emails or HTTP calls as the process defines. From scratch, a submission (submission_id) or your payload.
Submission, 1 operation
get_submissionGet submissionGETAgents: ask firstReturns a submission (what participants filled in and signed): its state, timestamps and download links of the filled-in, audit trail and sealed PDFs, which hold personal data. Form values are not returned.
Template participant, 1 operation
get_template_participantsGet template participantsGETAgents: ask firstReturns a template with its participant slots: the slot_name of each recipient (the key to use in participants when creating a document from it), role and any pre-assigned name or email (personal data).
Template token, 1 operation
get_template_tokensGet template tokensGETAgents: ask firstReturns a template with its variables (tokens): each name and current value, the keys to fill in tokens when creating a document from it.
Use Paperless.io from Claude Code, Cursor or Codex
Connect Paperless.io in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Paperless.io operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Paperless.io
- Create your workspace
Sign up free. Nothing to install.
- Connect Paperless.io once
Add your Paperless.io connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Paperless.io integration FAQ
What can you do with the Paperless.io integration?
LiveContext exposes 26 operations on Paperless.io, covering document, template, webhook and document participant.
