Lookup By Field
freshworks_crm.lookup
ActionCRM & salesconnection required
Calls the Freshworks CRM API with the connection's credentials.
Find records whose named field exactly equals a value, which is how a workflow resolves an email address to a contact.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Freshworks CRM
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- bundle_alias, domain, base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
3 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 |
|---|---|---|---|---|---|
query The exact value to match; Freshworks does not match partial values here. | string | Yes | — | — | — |
field The field to match on. Freshworks supports 'name' and 'email' for contacts, 'name' for accounts and deals, and custom fields by their internal name. | string | Yes | — | — | |
entities Comma-separated entities to search, from contact, sales_account and deal. The field must exist on every entity named, or Freshworks answers with an error. | string | Yes | — | — | contact |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"entities": "contact",
"field": "email"
}Output
One shape.
result
The provider's response object, as returned.
Extra keys beyond the ones listed can appear.
{}Notes
- The response is keyed by entity — {"contacts": {"contacts": [...]}} — so it is passed on exactly as Freshworks sent it rather than flattened.
See Lookup By Field run in a workflow.
In a technical demo we add the Freshworks CRM connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.