Reference · Tools
Salesmate
Manage companies, activities, and deals in Salesmate CRM
The Salesmate node manages companies, activities and deals in the Salesmate CRM with full CRUD and search. A typical build is creating a deal from a qualified lead and logging every follow-up as an activity against it.
- Node type
- Action
- Parameters
- 59
- Outputs
- Output, Error
- Credentials
- Salesmate API
Salesmate
Manage companies, activities, and deals in Salesmate CRM
Overview
Salesmate is a CRM platform for managing sales pipelines. This tool supports CRUD operations on companies, activities (calls, meetings, tasks), and deals, including searching with complex filter conditions.
Category: Sales
Tool Name: salesmate
Version: 1
Appearance: Icon: lucide-CircleDollarSign | Color: #5D70AE
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Salesmate API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Activity | activity |
| Company | company |
| Deal | deal |
Operations
All three resources offer the same five operations. Pick the resource first, then the operation.
| Operation | Value |
|---|---|
| Create | create |
| Delete | delete |
| Get | get |
| Get Many | getAll |
| Update | update |
Parameters
Owner, contact and company identifiers are Salesmate record IDs. All text fields accept expressions such as {{ $json.companyId }}, so you can feed them from an upstream item.
Company: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Name | string | Yes | — | The name of the company. |
| Owner | string | Yes | — | Owner user ID. Find in Salesmate: Settings > Users. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Additional Fields (additionalFields) | collection | No | {} | Optional company fields to set on creation. |
| — Website | string | No | — | — |
| — Phone | string | No | — | — |
| — Other Phone | string | No | — | — |
| — Facebook Handle | string | No | — | — |
| — Google Plus Handle | string | No | — | — |
| — LinkedIn Handle | string | No | — | — |
| — Skype ID | string | No | — | — |
| — Twitter Handle | string | No | — | — |
| — Currency | string | No | — | — |
| — Billing Address Line 1 | string | No | — | — |
| — Billing Address Line 2 | string | No | — | — |
| — Billing City | string | No | — | — |
| — Billing Zip Code | string | No | — | — |
| — Billing State | string | No | — | — |
| — Description | string | No | — | — |
| — Tags | string | No | — | — |
Company: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Company ID (id) | string | Yes | — | The ID of the company to update. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Update Fields (updateFields) | collection | No | {} | Company fields to change. Only the fields you add are sent. |
| — Name | string | No | — | — |
| — Owner | string | No | — | Owner user ID. |
| — Website | string | No | — | — |
| — Phone | string | No | — | — |
| — Other Phone | string | No | — | — |
| — Facebook Handle | string | No | — | — |
| — Google Plus Handle | string | No | — | — |
| — LinkedIn Handle | string | No | — | — |
| — Skype ID | string | No | — | — |
| — Twitter Handle | string | No | — | — |
| — Currency | string | No | — | — |
| — Billing Address Line 1 | string | No | — | — |
| — Billing Address Line 2 | string | No | — | — |
| — Billing City | string | No | — | — |
| — Billing Zip Code | string | No | — | — |
| — Billing State | string | No | — | — |
| — Description | string | No | — | — |
| — Tags | string | No | — | — |
Company: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Company ID (id) | string | Yes | — | The ID of the company to retrieve. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Company: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. Accepts 1–25. (shown when Return All is false) |
| JSON Parameters | boolean | No | false | Whether to provide the search body as raw JSON. |
Options (options) | collection | No | {} | Query options for the search request. |
| — Fields | string | No | — | Comma-separated list of fields to return. |
| — Sort By | string | No | — | The field to sort by. |
| — Sort Order | options | No | desc | — |
Options: asc, desc | ||||
Filters (JSON) (filtersJson) | json | No | — | JSON search body with fields, query, and group filter rules. (shown when JSON Parameters is true) |
Filters (filters) | fixedCollection | No | {} | Structured filter conditions built in the editor. (shown when JSON Parameters is false) |
| — Operator | options | No | AND | — |
Options: AND, OR | ||||
| — Conditions | fixedCollection | No | {} | The conditions this filter group evaluates. |
| — — Field | options | No | name | — |
Options: name, email, phone | ||||
| — — Condition | options | No | EQUALS | — |
Options: EQUALS, NOT_EQUALS, Contains, DOES_NOT_CONTAINS, EMPTY, NOT_EMPTY, STARTS_WITH, ENDS_WITH | ||||
| — — Value | string | No | — | — |
Company: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Company ID (id) | string | Yes | — | ID of the company to delete. If more than one, add them separated by comma. |
Activity: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Title | string | Yes | — | The title of the activity. |
| Owner | string | Yes | — | Owner user ID. Find in Salesmate: Settings > Users. |
| Type | string | Yes | — | Activity type such as “call”, “meeting”, “task”, etc. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Additional Fields (additionalFields) | collection | No | {} | Optional activity fields to set on creation. |
| — Description | string | No | — | Details related to the activity. |
| — Tags | string | No | — | Tags associated with the activity. |
| — Due Date | string | No | — | Expiry date of the activity (ISO 8601 format). |
| — Duration | number | No | 0 | Time duration of the activity in minutes. |
| — Is Calendar Invite | boolean | No | false | Whether to send a calendar invite. |
| — Is Completed | boolean | No | false | Whether the activity is completed. |
Activity: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Activity ID (id) | string | Yes | — | The ID of the activity to update. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Update Fields (updateFields) | collection | No | {} | Activity fields to change. Only the fields you add are sent. |
| — Title | string | No | — | — |
| — Type | string | No | — | — |
| — Owner | string | No | — | Owner user ID. |
| — Description | string | No | — | Details related to the activity. |
| — Tags | string | No | — | Tags associated with the activity. |
| — Due Date | string | No | — | Expiry date (ISO 8601 format). |
| — Duration | number | No | 0 | Time duration in minutes. |
| — Is Calendar Invite | boolean | No | false | Whether to send a calendar invite. |
| — Is Completed | boolean | No | false | Whether the activity is completed. |
Activity: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Activity ID (id) | string | Yes | — | The ID of the activity to retrieve. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Activity: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. Accepts 1–25. (shown when Return All is false) |
| JSON Parameters | boolean | No | false | Whether to provide the search body as raw JSON. |
Options (options) | collection | No | {} | Query options for the search request. |
| — Fields | string | No | — | Comma-separated list of fields to return. |
| — Sort By | string | No | — | The field to sort by. |
| — Sort Order | options | No | desc | — |
Options: asc, desc | ||||
Filters (JSON) (filtersJson) | json | No | — | JSON search body with fields, query, and group filter rules. (shown when JSON Parameters is true) |
Filters (filters) | fixedCollection | No | {} | Structured filter conditions built in the editor. (shown when JSON Parameters is false) |
| — Operator | options | No | AND | — |
Options: AND, OR | ||||
| — Conditions | fixedCollection | No | {} | The conditions this filter group evaluates. |
| — — Field | options | No | title | — |
Options: title, tags | ||||
| — — Condition | options | No | EQUALS | — |
Options: EQUALS, NOT_EQUALS, Contains, DOES_NOT_CONTAINS, EMPTY, NOT_EMPTY, STARTS_WITH, ENDS_WITH | ||||
| — — Value | string | No | — | — |
Activity: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Activity ID (id) | string | Yes | — | ID of the activity to delete. If more than one, add them separated by comma. |
Deal: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Title | string | Yes | — | The title of the deal. |
| Owner | string | Yes | — | Owner user ID. Find in Salesmate: Settings > Users. |
| Primary Contact | string | Yes | — | Primary contact ID for the deal. Find in Salesmate contacts list. |
| Pipeline | options | Yes | Sales | The pipeline for the deal. |
Options: Sales | ||||
| Status | options | Yes | Open | The status of the deal. |
Options: Open, Close, Lost | ||||
| Stage | options | Yes | — | The stage of the deal. |
Options: New (Untouched), Contacted, Qualified, In Negotiation, Proposal Presented | ||||
| Currency | string | Yes | — | Currency code (e.g. “USD”, “EUR”). |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Additional Fields (additionalFields) | collection | No | {} | Optional deal fields to set on creation. |
| — Description | string | No | — | Details related to the deal. |
| — Tags | string | No | — | Tags associated with the deal. |
| — Primary Company | string | No | — | Primary company ID for the deal. |
| — Source | options | No | Ads | — |
Options: Ads, Referrals, Website, Word of mouth | ||||
| — Estimated Close Date | string | No | — | Expected close date (ISO 8601 format). |
| — Deal Value | number | No | 0 | Monetary value of the deal. |
| — Priority | options | No | Medium | — |
Options: High, Medium, Low |
Deal: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Deal ID (id) | string | Yes | — | The ID of the deal to update. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Update Fields (updateFields) | collection | No | {} | Deal fields to change. Only the fields you add are sent. |
| — Title | string | No | — | — |
| — Owner | string | No | — | Owner user ID. |
| — Primary Contact | string | No | — | Primary contact ID. |
| — Pipeline | options | No | — | — |
Options: Sales | ||||
| — Status | options | No | Open | — |
Options: Open, Close, Lost | ||||
| — Stage | options | No | — | — |
Options: Contacted, In Negotiation, New (Untouched), Proposal Presented, Qualified | ||||
| — Currency | string | No | — | — |
| — Description | string | No | — | Details related to the deal. |
| — Tags | string | No | — | Tags associated with the deal. |
| — Primary Company | string | No | — | Primary company ID. |
| — Source | options | No | Ads | — |
Options: Ads, Referrals, Website, Word of mouth | ||||
| — Estimated Close Date | string | No | — | Expected close date (ISO 8601). |
| — Deal Value | number | No | 0 | Monetary value of the deal. |
| — Priority | options | No | Medium | — |
Options: High, Medium, Low |
Deal: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Deal ID (id) | string | Yes | — | The ID of the deal to retrieve. |
| RAW Data | boolean | No | false | Whether the data should include the fields details. |
Deal: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. Accepts 1–25. (shown when Return All is false) |
| JSON Parameters | boolean | No | false | Whether to provide the search body as raw JSON. |
Options (options) | collection | No | {} | Query options for the search request. |
| — Fields | string | No | — | Comma-separated list of fields to return. |
| — Sort By | string | No | — | The field to sort by. |
| — Sort Order | options | No | desc | — |
Options: asc, desc | ||||
Filters (JSON) (filtersJson) | json | No | — | JSON search body with fields, query, and group filter rules. (shown when JSON Parameters is true) |
Filters (filters) | fixedCollection | No | {} | Structured filter conditions built in the editor. (shown when JSON Parameters is false) |
| — Operator | options | No | AND | — |
Options: AND, OR | ||||
| — Conditions | fixedCollection | No | {} | The conditions this filter group evaluates. |
| — — Field | options | No | title | — |
Options: title, tags, lastCommunicationMode | ||||
| — — Condition | options | No | EQUALS | — |
Options: EQUALS, NOT_EQUALS, Contains, DOES_NOT_CONTAINS, EMPTY, NOT_EMPTY, STARTS_WITH, ENDS_WITH | ||||
| — — Value | string | No | — | — |
Deal: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Deal ID (id) | string | Yes | — | ID of the deal to delete. If more than one, add them separated by comma. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. Accepts 1–100. |
Output Data
For every operation except Get Many, the Salesmate response is merged onto the input item’s JSON at the top level — the returned record’s fields sit alongside the fields the item already carried, so downstream nodes address them directly ({{ $json.id }}). A response field with the same name as an existing item field overwrites it. Binary data on the input item is forwarded unchanged, and one input item produces one output item.
Get Many replaces the item JSON instead of merging it. The search response fans out: each returned record becomes its own output item whose JSON is that record alone — nothing from the input item’s JSON carries over. Binary is still forwarded onto every item. A search that matches nothing produces no output items for that input.
| Operations | Output |
|---|---|
| Create, Update, Get on companies, activities and deals | One output item; the returned record’s fields merged onto the input JSON. |
| Get Many on companies, activities and deals | One output item per matching record, each carrying only that record’s fields. |
| Delete on companies, activities and deals | One output item; the delete response merged onto the input JSON, or success: true when the API returns no body. |
Leave RAW Data off to strip the verbose per-field detail block from Create, Update and Get responses; turn it on when you need Salesmate’s field metadata as well as the values.
Usage Examples
- Create a new company in Salesmate
- Search for all open deals
- Update an activity status in Salesmate
- Delete a company from Salesmate CRM
Example Configuration
Create a company with billing details:
{
"type": "salesmate",
"parameters": {
"resource": "company",
"operation": "create",
"name": "Acme Corporation",
"owner": "1",
"rawData": true,
"additionalFields": {
"website": "https://acme.com",
"phone": "+1-555-0123",
"description": "Leading provider of innovative solutions",
"currency": "USD",
"billingAddressLine1": "123 Business St",
"billingCity": "New York",
"billingState": "NY",
"billingZipCode": "10001"
}
}
}
Update a company using an ID carried on the incoming item:
{
"type": "salesmate",
"parameters": {
"resource": "company",
"operation": "update",
"id": "{{ $json.companyId }}",
"updateFields": {
"name": "Acme Corporation Ltd",
"website": "https://acme-corp.com",
"phone": "+1-555-0124",
"description": "Updated description"
}
}
}
Search companies with the structured filter builder, sorted by name:
{
"type": "salesmate",
"parameters": {
"resource": "company",
"operation": "getAll",
"returnAll": false,
"limit": 25,
"jsonParameters": false,
"options": {
"sortBy": "name",
"sortOrder": "asc"
},
"filters": {
"filtersUi": {
"operator": "AND",
"conditions": {
"conditionsUi": [
{
"field": "name",
"condition": "Contains",
"value": "Corp"
}
]
}
}
}
}
}
Log a follow-up call against a contact:
{
"type": "salesmate",
"parameters": {
"resource": "activity",
"operation": "create",
"title": "Follow-up Call",
"owner": "1",
"type": "call",
"additionalFields": {
"description": "Schedule follow-up call with prospect",
"dueDate": "{{ $datetime.iso }}",
"duration": 30,
"isCalendarInvite": true
}
}
}
Create a qualified deal in the Sales pipeline:
{
"type": "salesmate",
"parameters": {
"resource": "deal",
"operation": "create",
"title": "Enterprise Software License",
"owner": "1",
"primaryContact": "{{ $json.contactId }}",
"pipeline": "Sales",
"status": "Open",
"stage": "Qualified",
"currency": "USD",
"additionalFields": {
"description": "Annual enterprise software license deal",
"dealValue": 50000,
"estimatedCloseDate": "2026-03-31",
"priority": "High",
"source": "Referrals"
}
}
}
Pull every open deal with a raw JSON search body. Filters (JSON) is parsed as text, so give it a JSON string rather than a nested object — an object is silently ignored and the search returns everything:
{
"type": "salesmate",
"parameters": {
"resource": "deal",
"operation": "getAll",
"returnAll": true,
"jsonParameters": true,
"filtersJson": "{\"query\":{\"group\":{\"operator\":\"AND\",\"conditions\":[{\"field\":\"status\",\"condition\":\"EQUALS\",\"value\":\"Open\"}]}}}"
}
}
Delete several records in one call:
{
"type": "salesmate",
"parameters": {
"resource": "company",
"operation": "delete",
"id": "123,456,789"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Salesmate CRM: create, read, update, delete, and search companies, activities, and deals.
Filtering and Pagination
- Use
returnAll: trueto get all records, orreturnAll: falsewithlimitfor pagination. Limit accepts 1–25 per request. - Use
jsonParameters: truefor complex JSON filters, orjsonParameters: falsefor the structured filter builder. - Filters (JSON) is read as text and parsed. Supply a JSON string; anything that fails to parse is discarded without an error, and the search runs unfiltered.
- Add Options whenever you list records so you control sorting and which fields come back.
Data Structure Considerations
- Collection parameters (Additional Fields, Update Fields, Options) are flat objects keyed by the sub-field’s internal name.
- The Filters fixed collection nests under the group key
filtersUi, and its conditions nest underconditionsUi. - Set RAW Data to
truewhen you want Salesmate’s field-detail metadata in the response.
Frequently asked questions
What is the pagination limit?
Between 1 and 25 records per request when Return All is off. For everything, set Return All to true and let the node page through.
How do I supply complex filters?
Set jsonParameters true and use Filters (JSON), or leave it false to use the structured filter builder. The JSON field is read as text and parsed, so malformed JSON fails rather than being ignored.
Which resources can it manage?
Companies, activities and deals — the objects most sales workflows touch.
Which credential does it need?
A Salesmate API credential.
Build with the Salesmate node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Salesmate API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.