Search Records
salesmate.search_records
ActionCRM & salesconnection required
Calls the Salesmate API with the connection's credentials.
Search one module with a Salesmate filter query.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Salesmate
- Secret shape
- the Salesmate access key, or {"access_token": "…"}
- Config it needs
- linkname
- Resolved by
- config.connection_id, else node.connection_id
Configuration
6 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
module Which Salesmate record this node acts on. | string | Yes | — | one of "contact", "company", "deal", "activity" | — |
displaying_fields The columns to return, named as Salesmate names them (contact.name, deal.dealValue…). A search returns only these. | array | Yes | — | ≥ 1 characters; array of string | ["contact.id","contact.name","contact.email"] |
filter_query The Salesmate filter query: a 'group' of 'rules', each naming a field, a condition and the data to compare against. | object | Yes | — | ≥ 1 characters | {"group":{"operator":"AND","rules":[{"condition":"IS_AFTER","data":"Jan 01, 1970 05:30 AM","eventType":"DateTime","field":{"displayName":"Created At","fieldName":"contact.createdAt","type":"DateTime"},"moduleName":"Contact"}]}} |
sort How to order the results, as {'fieldName': …, 'order': 'asc'|'desc'}. Salesmate sorts only by id, createdAt, lastModifiedAt and the module's name or title. | object | No | — | — | {"fieldName":"contact.createdAt","order":"desc"} |
rows How many records to return in this request; Salesmate caps a search at 250 rows. | number | No | 250 | 1–250 | — |
offset How many records to skip before returning rows; page through a large result by advancing this by 'rows' each run. | number | No | 0 | ≥ 0 | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"displaying_fields": [
"contact.id",
"contact.name",
"contact.email"
],
"filter_query": {
"group": {
"operator": "AND",
"rules": [
{
"condition": "IS_AFTER",
"data": "Jan 01, 1970 05:30 AM",
"eventType": "DateTime",
"field": {
"displayName": "Created At",
"fieldName": "contact.createdAt",
"type": "DateTime"
},
"moduleName": "Contact"
}
]
}
},
"offset": 0,
"rows": 250,
"sort": {
"fieldName": "contact.createdAt",
"order": "desc"
}
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
module The module that was searched. | string | — |
records The matching records, carrying the requested fields. | array | — |
count How many records this page returned. | number | — |
total_rows How many records match the filter in total. | number | — |
total_pages How many pages of 'rows' the match spans. | number | — |
{
"count": 0,
"module": "",
"records": [],
"total_pages": 0,
"total_rows": 0
}Related Salesmate nodes
See Search Records run in a workflow.
In a technical demo we add the Salesmate connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.