Skip to content

Node Reference

Two custom nodes are available for working with Lime CRM.

Lime CRM Node

The main action node for reading and writing data in Lime CRM. It exposes three resource groups:

Data Resource

Operation Description
createSingleObject Create one CRM record
getSingleObject Fetch one record by ID
updateSingleObject Update one record by ID
deleteSingleObject Delete one record by ID
getManyObjects Query records with filtering, sorting, and pagination
getSingleFile Download a file attachment
bulkCreateManyObjects Bulk-create many records (alpha)
bulkUpdateManyObjects Bulk-update many records (alpha)
bulkCreateOrUpdateManyObjects Bulk upsert (alpha)

Metadata Resource

Operation Description
getAllLimetypes List all entity types available in this CRM instance
getSingleLimetype Inspect the schema for one entity type (properties, options, relations)
getSingleFileMetadata Get file metadata without downloading the binary

Admin Resource

Operation Description
getManyUsers List CRM users (coworkers)
getSingleUser Get one user by ID

Data Operations in Detail

createSingleObject

Creates one record in the specified Limetype.

Parameters:

Parameter Description
Limetype The entity type to create (for example company, deal)
Input method fields (use the UI form) or json (provide a JSON object)
Properties The field values to set

Example — JSON input mode:

{
  "name": "Acme Corp",
  "orgnumber": "556000-0000",
  "phone": "+46701234567"
}

getSingleObject

Fetches one record by its _id.

Parameters:

Parameter Description
Limetype The entity type
Object ID The record _id (integer)

Output: The full record object including all properties and relation IDs.

updateSingleObject

Updates one record by its _id. Note that the parameter names differ from createSingleObject.

Parameters:

Parameter Description
Limetype The entity type
ID The record _id to update
Input type fields or json
JSON data The fields to update (only changed fields are needed)

getManyObjects

Queries records with optional filtering, sorting, and pagination.

Parameters:

Parameter Description
Limetype The entity type
Query filter Lime Query DSL filter object
Order by Property name(s) to sort by
Limit Maximum records to return. Set 0 for unlimited (auto-batches in chunks of 200). Default: 50
Properties Automatically includes _id

Filter format:

Filters use the Lime Query DSL. A simple filter has three fields:

{
  "key": "dealstatus",
  "op": "=",
  "exp": "won"
}

Compound filters use AND or OR with an array of expressions:

{
  "op": "AND",
  "exp": [
    { "key": "inactive", "op": "=", "exp": false },
    { "key": "city", "op": "=", "exp": "Stockholm" }
  ]
}

Filter operators:

Operator Meaning
= Equals
!= Not equals
>, >= Greater than / greater than or equal
<, <= Less than / less than or equal
=? Begins with
IN Value is in a list
AND, OR Combine multiple expressions
! Negate an expression

System fields available on all Limetypes:

Field Type Description
_id integer Unique record identifier
_timestamp ISO 8601 datetime Last modified time — use this to filter records changed since a given point in time
_created ISO 8601 datetime Record creation time

Use _timestamp in scheduled sync workflows to fetch only records changed since the last run.

Bulk Operations (alpha)

Warning

All bulk operations are in alpha status and require an additional package to be activated on the Lime CRM instance. Contact Lime support or your instance administrator to enable bulk operations.

Warning

Bulk operations bypass the entire application layer — Python business logic, Lime Automations, webhooks, and sql-on-update hooks do not fire. Only use bulk operations when this is intentional (for example, large data migrations).

bulkCreateOrUpdateManyObjects — upsert example:

{
  "limetype": "company",
  "matchingProperty": "orgnumber",
  "properties": [
    { "orgnumber": "556000-0000", "name": "Acme Corp", "city": "Stockholm" },
    { "orgnumber": "556000-0001", "name": "Beta AB", "city": "Gothenburg" }
  ]
}

The matchingProperty is the unique field used to decide whether to create or update. It must be unique across records.

Return value:

{
  "jobId": "abc123",
  "status": "succeeded",
  "summary": {
    "total": 2,
    "created": 1,
    "updated": 1,
    "skipped": 0,
    "failed": 0
  }
}

Decision guide — bulk vs individual operations:

Volume Business logic must fire? Use
< 10 records Any Individual CRUD
10–10 000+ records No Bulk operations
Any volume Yes Individual CRUD with upsert pattern

Lime CRM Trigger

Starts a workflow when a CRM record is created, updated, or deleted.

Parameters:

Parameter Description
Credential LimeCrmApi credential
Limetype The entity type to watch
Events One or more of: Object created, Object updated, Object deleted

Webhook payload structure:

For a new event, values contains all field values of the created record:

{
  "body": {
    "event": "deal.new",
    "body": {
      "id": 42,
      "limetype": "deal",
      "values": {
        "name": "Acme renewal",
        "probability": 80,
        "status": "pipeline"
      }
    }
  }
}

For an update event, values still contains all current field values. original_values contains only the previous values of fields that changed:

{
  "body": {
    "event": "deal.update",
    "body": {
      "id": 42,
      "limetype": "deal",
      "values": {
        "name": "Acme renewal",
        "probability": 80,
        "status": "pipeline"
      },
      "original_values": {
        "probability": 60
      }
    }
  }
}

Key access expressions:

Data Expression
Event type {{ $json.body.event }}
Record ID {{ $json.body.body.id }}
Limetype {{ $json.body.body.limetype }}
Field value (current) {{ $json.body.body.values.fieldName }}
Field value (before update) {{ $json.body.body.original_values.fieldName }}

Notes:

  • The trigger payload includes all field values — you do not need to follow every trigger with getSingleObject. Fetch the full object only when you need data from a related record (for example, the company linked to a deal).
  • The webhook subscription is created automatically when you activate the workflow and deleted when you deactivate it.
  • The trigger requires a publicly accessible URL — it does not work in local development without a tunnel.

For credential configuration, see Credential Setup.