Nimble v2
Provides integration with Nimble CRM to query contacts, deals, account fields, and pipelines, and to create, update, and delete contacts and deals.
Revision History
0.0.0.3 - Initial release.
Connection
Use this Connection to authenticate with your Nimble account.
| Property | Type | Description |
|---|---|---|
ApiKey |
Masked | Required administrator API token generated in Nimble under Settings → API Token. |
TimeoutSeconds |
Integer | Timeout for each API request in seconds. Defaults to 30 and must be greater than 0. |
Setup Notes
- Generate an administrator API token in Nimble under
Settings→API Token. - Enter the token in the Connection's
ApiKeyProperty. - Test the Connection to confirm that it can retrieve the current user.
- Select a Method and an operation template on the
NimbleNode.
The Node supports cloud and local Clusters with HTTPS access to Nimble. The API destination is fixed to Nimble's service. Authentication uses the API token directly; there is no OAuth authorization or automatic token renewal.
You can list operation templates without connecting to Nimble. Loading a selected template requires a valid Connection and retrieves account-specific contact or deal field metadata when needed. Use the resulting field names and IDs when mapping your records.
Methods
Select a template to populate OperationId and the operation-specific Options, Items, and Response fields. Each Method accepts only its own supported operations.
Query
Reads contacts, individual deals, account metadata, or the current user. Contact searches are paged automatically and return one row per contact.
| Template | Description |
|---|---|
get-myself |
Retrieves the current user's account information. |
list-contacts |
Searches contacts using a keyword or an advanced JSON query. |
list-contacts-for-identifiers |
Retrieves contacts by a comma-separated list of up to 30 contact IDs. |
get-contact |
Retrieves a contact by Options.contact_id. |
list-company-contacts-fields |
Retrieves the account's contact field definitions, returning one row per tab. |
get-deal |
Retrieves a deal by Options.deal_id. |
list-all-user-deals-fields |
Retrieves the account's deal field definitions. |
list-deals-pipelines |
Retrieves deal pipelines, returning one row per pipeline. |
get-deals-pipeline |
Retrieves a pipeline by Options.pipeline_id. |
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Nimble account credentials. |
OperationId |
String | Operation identifier supplied by the selected template. |
Options |
Object | IDs, field selections, and filters supported by the selected operation. |
Options.keyword |
String | Simple contact search text for list-contacts. Cannot be combined with Options.query. |
Options.query |
String | Advanced contact search expressed as a JSON string with an object root. When supplied, record_type is omitted from the request. |
Options.record_type |
String | Contact search type: person, company, or all. Applies when no advanced query is supplied. |
Options.fields |
String | Comma-separated contact field names to return. Omit to retrieve all fields. Available on contact read templates. |
Options.tags |
Boolean | Whether to include tags on supported contact reads. |
Options.id |
String | Required comma-separated contact IDs for list-contacts-for-identifiers. Maximum 30 IDs. |
Options.contact_id |
String | Required contact ID for get-contact. |
Options.deal_id |
String | Required deal ID for get-deal. |
Options.pipeline_id |
String | Required pipeline ID for get-deals-pipeline. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Rows containing the fields advertised by the selected template. Query rows contain provider data without mutation Flowgear metadata. A contact search with no matches returns no rows. |
Create
Creates one contact or deal for each connected input item. Select post-contact or create-new-deal.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Nimble account credentials. |
OperationId |
String | Operation identifier supplied by the selected template. |
Options |
Object | Operation-specific options, where advertised by the template. |
Items |
Array | Required connected stream of contact or deal objects using the selected template's fields. An empty stream creates no records. |
Items.type |
String | Required for contacts. Use person or company; no default is applied. |
Items.fields |
Object | Contact field names mapped to arrays of field-value objects. A person requires a nonempty first name or last name; a company requires a nonempty company name. |
Items.fields_values |
Object | Required for deals. Map writable field IDs to arrays of field-value objects, including a nonempty deal name. Use field IDs from your account's metadata. |
Items.pipeline_id |
String | Deal pipeline ID. Supply this or stage_id. |
Items.stage_id |
String | Deal stage ID. Supply this or pipeline_id. The stage must exist, be non-final, and belong to the selected pipeline when a pipeline is supplied. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input item, retaining provider fields and adding Flowgear.IsSuccess, Flowgear.StatusMessage, and a copy of the input in Flowgear.Request. |
Update
Updates contacts or deals, or appends values to contact fields. Select put-contact, put-deal, or append-contact-field-values.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Nimble account credentials. |
OperationId |
String | Operation identifier supplied by the selected template. |
Options |
Object | Target ID and any operation-specific update options. |
Options.contact_id |
String | Required target contact ID for contact updates and field appends. Applies to all input items in the invocation. |
Options.deal_id |
String | Required target deal ID for deal updates. Applies to all input items in the invocation. |
Options.type |
String | Contact update mode for put-contact: "0" extends field values; "1" replaces them. Supply a string, not an integer. |
Items |
Array | Required connected stream of updates. Contact updates use fields; deal updates use fields_values with writable field IDs. For field appends, map field names directly under each item; the Node adds the provider's fields wrapper. An empty stream performs no updates. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input item, retaining provider fields and adding Flowgear.IsSuccess, Flowgear.StatusMessage, and Flowgear.Request. |
Delete
Deletes contacts or deals. Select delete-contact or delete-deal.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Nimble account credentials. |
OperationId |
String | Operation identifier supplied by the selected template. |
Options |
Object | Optional contact deletion settings and the target ID when Items is not connected. |
Options.contact_id |
String | Required contact ID when deleting a contact without connected Items. |
Options.deal_id |
String | Required deal ID when deleting a deal without connected Items. |
Options.deletion_method |
String | Contact deletion mode: regular rejects deletion when blocking relations exist; force allows deletion with relations. The provider default is regular. |
Options.cleanup_email_lists |
Boolean | Contact deletion option to remove email-list entries matching the deleted contact's email addresses. The provider default is false. |
Items |
Array | Optional connected stream. Each item must contain only a nonempty string contact_id or deal_id, as appropriate. An empty connected stream deletes nothing. Without connected Items, the Node deletes the single target specified in Options. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per deletion with Flowgear.IsSuccess, Flowgear.StatusMessage, and Flowgear.Request. Provider fields are retained when present. An empty successful delete response still produces a result with Flowgear metadata. |
Usage Notes
- The Node handles contact paging internally. Do not supply
page,per_page, or other paging controls inOptions. - Keep IDs as strings and Boolean values as booleans. Input validation does not trim strings or convert incorrect scalar types.
- String and integer collections advertised as CSV use quoted CSV. Quote values containing commas, newlines, or quotes, and double embedded quotes. Whitespace in strings is preserved. Empty text means an empty collection,
""represents one empty string. Invalid integer values are rejected. Object collections remain structured arrays. - Contact-create
tagsuses Nimble's separate convention: separate tags with commas and escape a comma inside a tag with a backslash. For example,customers,best\,premiumcreates two tags. Contact creation allows at most five tags. Contact responsetagscontains objects, whiletags2uses CSV. - Inspect
Flowgear.IsSuccesson mutation results before using returned fields. Recognized per-record provider errors produce failed rows and allow later items to continue. Invalid first input records fail before a write; invalid later records produce failed rows. - Authentication, transport, and malformed-response failures stop processing. Reads retry throttled requests at most twice. Writes are not automatically replayed. A timeout can leave the write's outcome uncertain, check Nimble before submitting it again.
- The first read or write completes when the Method starts. Later pages or input items are processed as the response stream is consumed. Multiple writes are not transactional.
Examples
Create a Person Contact
Select Create → post-contact and map an input item with this shape to Items:
{
"type": "person",
"fields": {
"first name": [
{ "value": "John" }
],
"last name": [
{ "value": "Doe" }
]
}
}
Use the selected template to map additional fields available in your account. Check Response.Flowgear.IsSuccess before using the returned contact id.