Capsule CRM v2
Provides integration with Capsule CRM to list, search, get, create, update and delete people and organisations, opportunities, projects, tasks and notes in your Workflows. The Node uses Capsule's API v2 with personal access token authentication and is available on Cloud Runtime Clusters.
Revision History
0.0.1.4 - Initial release.
Connection
Use this Connection to store the Capsule personal access token used to authenticate requests.
| Property | Type | Description |
|---|---|---|
AccessToken |
Masked | Required Capsule personal access token with the permissions required by the selected operations. Must be a single line. |
Setup Notes
- Create a personal access token in Capsule under
My Preferences→API Authentication Tokens. - Create a
Capsule CRMConnectionin Flowgear and enter the token inAccessToken. - Test the
Connection. The test reads the current Capsule user within 30 seconds. It confirms that the token can authenticate and read, but does not check every write permission. - Select a Method and its operation template, then map the fields needed by your Workflow.
Requests use the fixed https://api.capsulecrm.com/api/v2/ endpoint. The Node does not refresh tokens. Replace the token on the Connection when it is revoked or expires.
Methods
Select an operation template for the Method you want to use. The template supplies OperationId, a GUID identifying that operation, and describes its Options, Items and Response fields. An OperationId from a different Method is rejected.
Capsule's API calls projects kases. Project fields and routes therefore keep Capsule's kase and kases spelling, while the templates use names such as List projects.
| Method | Supported operations |
|---|---|
List |
List parties (people and organisations), opportunities, projects and tasks. |
Search |
Search parties, opportunities and projects. |
Get |
Get one party, opportunity, project, task or entry by ID. |
Create |
Create a party, opportunity, project, task or note entry. |
Update |
Update a party, opportunity, project, task or entry. |
Delete |
Delete a party, opportunity, project, task or entry. |
List
Lists records using the selected template. Subsequent pages are retrieved automatically as you consume Response.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected list template. |
Options |
Object | Filter values supported by the selected template. Party, opportunity and project templates accept since and embed. The task template accepts status and embed. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One row per record. Response wrappers and paging metadata are removed. A successful list with no records returns no rows. |
Search
Searches parties, opportunities or projects using the selected template. Subsequent pages are retrieved automatically as you consume Response.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected search template. |
Options |
Object | Search values supported by the selected template: q, the plain-text search term, and embed. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One row per matching record. A successful search with no matches returns no rows. |
Get
Retrieves one record by its ID using the selected template.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected get template. |
Options |
Object | Required record ID for the selected template, such as partyId, opportunityId, projectId, taskId or id for an entry, and an optional embed value. |
| Return | Type | Description |
|---|---|---|
Response |
Object | The requested record. A missing record or another provider error stops the Node. |
Create
Creates one record for each input item. Supply the record's fields directly through Items; the Node adds Capsule's request wrapper, such as party or opportunity.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected create template. |
Items |
Array | Required stream of record objects matching the selected template. An empty connected stream creates no records. |
Options |
Object | Optional embed value supported by the selected template. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input item containing the created record's fields and Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request. Failed results also include Capsule's message, resource and field details when available. |
New entries are notes. Set type to note, supply the note content, and link it to exactly one party, opportunity or project.
Update
Updates the record identified in Options once for each input item. Fields omitted from an item are left unchanged. Explicit null values and empty arrays are sent to Capsule.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected update template. |
Items |
Array | Required stream of objects containing the fields to change. An empty connected stream performs no updates. |
Options |
Object | Required record ID for the selected template, such as partyId or taskId, and an optional embed value where the template supports it. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input item containing the updated record's fields and Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request. Failed results also include Capsule's message, resource and field details when available. |
To update or remove nested contact details, tags or custom fields, include the nested item's id and, to remove it, _delete set to true, according to Capsule's rules for the selected operation.
Delete
Deletes the record identified in Options. This Method executes once per invocation and has no Items input.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Capsule CRM Connection used to authenticate the request. |
OperationId |
String | GUID supplied by the selected delete template. |
Options |
Object | Required ID of the record to delete, such as partyId, opportunityId, projectId, taskId or id for an entry. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result with Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request, including when Capsule returns no response body. |
Usage Notes
- Link related records using ID objects, such as
"party": { "id": 123 }. The Node does not create related records inline. - Use ISO 8601 date-time values for
since, such as2026-01-01T00:00:00Z. - Supply
embedand taskstatusas CSV strings. For example,tags,fieldsfor parties, opportunities or projects,party,ownerfor tasks, oropen,completedfor task status. - Map string and integer collections as CSV strings. Quote values containing commas, quotes or line breaks, and double any quotes inside a quoted value. Whitespace is preserved. An empty string represents an empty collection, while
""represents one empty string. Integer values must be whole numbers without whitespace. Object collections remain structured. - Custom field
valueaccepts a string, boolean or number. Capsule returns number custom field values as strings. Multiselect custom field values use Capsule's semicolon-delimited format, not CSV. - Recurring tasks use a
repeatobject containingfrequency(YEARLY,MONTHLYorWEEKLY),intervalandon. Omitrepeatin an update to keep the existing recurrence, or set it tonullto remove it. - Let the Node handle pagination. Do not add
pageorperPagetoOptions. - Consume the response stream to process all list and search pages or all create and update items. The first page or write executes when the Node starts; later pages and items are processed as the stream advances.
- Check
Flowgear.IsSuccessfor every mutation result. Record-level errors after the first item produce a failed row and allow later input items to continue. A failure on the first request, authentication failures and transport failures stop the Node. - Capsule allows 4,000 requests per hour per user. Rate-limited requests are retried up to twice when the wait is no longer than two minutes; longer waits stop the Node with a message to retry later. Writes are not automatically retried after server errors or interrupted requests. Check Capsule before repeating a write because the request may already have succeeded.
- Templates are available without contacting Capsule. Their availability does not establish that your token can execute an operation. Account-specific field choices and business validation are enforced by Capsule.
Examples
Search parties
Select the Search template Search parties and supply the following Options object:
{
"q": "Scott",
"embed": "tags,fields"
}
Each row in Response is one matching person or organisation.
Create an organisation
Select the Create template Create party and supply the following object as an item in Items:
{
"type": "organisation",
"name": "Example Company"
}
Check the result's Flowgear.IsSuccess before using the returned id in later operations.