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

  1. Generate an administrator API token in Nimble under Settings → API Token.
  2. Enter the token in the Connection's ApiKey Property.
  3. Test the Connection to confirm that it can retrieve the current user.
  4. Select a Method and an operation template on the Nimble Node.

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 in Options.
  • 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 tags uses Nimble's separate convention: separate tags with commas and escape a comma inside a tag with a backslash. For example, customers,best\,premium creates two tags. Contact creation allows at most five tags. Contact response tags contains objects, while tags2 uses CSV.
  • Inspect Flowgear.IsSuccess on 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.