n8n-nodes-plainapi
v0.1.1
Published
n8n community node for the Plain customer support platform — threads, customers, companies, emails, CSAT surveys, and more
Downloads
94
Maintainers
Readme
n8n-nodes-plainapi
n8n community node for Plain — the customer support platform built for technical teams.
Manage threads, customers, companies, emails, notes, labels, users, and CSAT surveys directly from your n8n workflows. 34 operations across 8 resources with full filter support.
Installation
In your n8n instance:
- Go to Settings > Community Nodes
- Install:
n8n-nodes-plainapi
Or manually:
cd ~/.n8n
npm install n8n-nodes-plainapiCredentials
- In Plain, go to Settings > API Keys and create a key
- In n8n, create a new Plain API credential
- Paste your API key
The base URL defaults to https://core-api.uk.plain.com/graphql/v1 and can be changed if needed.
Supported Operations
Thread (14 operations)
| Operation | Description |
|-----------|-------------|
| Get | Get a thread by its internal ID |
| Get by Ref | Get a thread by its human-readable ref (e.g. T-48750) |
| List | List threads with filters and sorting |
| Search | Full-text search across thread titles, messages, and customer info |
| Create | Create a new thread and optionally send an initial email |
| Reply | Reply to a thread (sends email if thread is email-based) |
| Mark as Done | Close a thread |
| Mark as Todo | Reopen a thread |
| Snooze | Snooze a thread until a specific time |
| Assign | Assign a thread to a user |
| Unassign | Remove assignment from a thread |
| Update Priority | Set priority (Urgent, High, Normal, Low) |
| Add Labels | Add label types to a thread |
| Remove Labels | Remove labels from a thread |
Customer (6 operations)
| Operation | Description | |-----------|-------------| | Get | Get by internal ID | | Get by Email | Look up a customer by email address | | Get by External ID | Look up by your system's external ID | | List | List customers with filters and sorting | | Search | Search by email or name | | Create/Update | Upsert a customer (creates if new, updates if exists) |
Company (3 operations)
| Operation | Description | |-----------|-------------| | Get | Get company details | | List | List companies with filters | | Search | Search companies by name or domain |
Email (2 operations)
| Operation | Description | |-----------|-------------| | Send New | Send a new email to a customer | | Reply | Reply to an existing email |
Note, User, Label
| Resource | Operations | |----------|-----------| | Note | Create (attach to customer or thread) | | User | Get, List (with assignability filter) | | Label | List (with archived filter) |
CSAT Survey (5 operations)
| Operation | Description | |-----------|-------------| | Get | Get survey details | | List | List all surveys | | Create | Create a new CSAT survey | | Update | Update survey settings | | Delete | Delete a survey |
Features
Filters — Thread list supports a full conditions builder with AND/OR/NOT logic. Customer and Company list operations have flat filter fields.
Auto-pagination — All list and search operations support a "Return All" toggle. When enabled, the node automatically paginates through all results using Plain's cursor-based pagination. When disabled, you can set a limit.
Sorting — Thread list supports sorting by status changed date, created date, priority, SLA breach proximity, and last inbound message. Customer list supports sorting by name.
Error details — When Plain returns validation errors, the node surfaces field-level details (e.g. "threadId: Invalid format") instead of a generic error message.
AI Tool compatible — The node has usableAsTool: true, so it can be used as a tool in n8n's AI Agent workflows.
Development
git clone https://github.com/krystianslowik/n8n-nodes-plainapi.git
cd n8n-nodes-plainapi
npm install
npm test # 22 tests
npm run build # Build for production
npm run dev # Start n8n with hot reload (requires n8n globally)