> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Clarify

> Connect Clarify to your Atako agents — 9 read and 4 write actions.

Let your agents work in your Clarify CRM: discover objects and fields, search and read companies, people, deals, tasks and custom objects, read activity and lists, create and update records, link people to deals, and comment on records.

## Connection

* **Authentication**: API key (Clarify API key).
* **Required settings**:
  * **Clarify workspace** — The slug in the URL app.clarify.ai/workspaces/\<slug>.

> [!NOTE]
>
> In Clarify: Settings → Workspace → API keys → Create API key. A Personal key acts as you, with your own access; a Workspace key acts as an admin, so prefer a Personal key (ideally of a dedicated user). Copy the key (shown once). The workspace is the slug in the URL app.clarify.ai/workspaces/\<slug>: enter it in the Workspace field.
>
> See [Clarify's documentation](https://developer.clarify.ai/docs).

## Read actions (9)

| Action | Description |
| - | - |
| `get_current_user` | Get the user the API key acts as (name, e-mail, roles). A Workspace key is not bound to a person and gets a 404; use a Personal key to read it. No arguments. |
| `get_record` | Get one record as a JSON:API resource \{ data: \{ type, id, attributes, relationships } }. Arguments: object (string, required, e.g. "person"); id (string, required, from list\_records); optional include (comma-separated relationship names to embed). |
| `list_list_records` | List the records that belong to a list (id from list\_lists). Arguments: object (string, required, the object type of the list); list (string, required, the list id); optional filter (same shape as list\_records), include, limit (integer 1-500), offset, sort\_column + sort\_dir. The answer is JSON:API \{ data: \[...], included, meta, links }. |
| `list_lists` | List the lists (saved views of records) of the workspace, across all objects. Optional arguments: entity (string, object type to keep, e.g. "deal"); list\_type (one of static, dynamic, default; dynamic lists are hidden unless asked); search (string, part of the title); limit (integer 1-2000), offset, sort\_column + sort\_dir. |
| `list_record_activities` | List the activity feed of a record, newest first: field updates, comments and relationship changes. Arguments: object (string, required); id (string, required, from list\_records); optional limit (integer 1-500), offset, sort\_column + sort\_dir. |
| `list_record_relationship` | List the records linked to a record through one relationship, e.g. the deals of a person. Arguments: object (string, required); id (string, required, from list\_records); relationship (string, required, from list\_schemas, e.g. "deals"); optional include, limit (integer 1-500, default 100), offset, sort\_column + sort\_dir. |
| `list_records` | List or search the records of one object (companies, people, deals, tasks, meetings or a custom object). Arguments: object (string, required, e.g. "deal"); optional filter (object \{ fieldName: string or \{ operator: string } }, e.g. \{"email\_addresses": "[jane@acme.com](mailto:jane@acme.com)"} or \{"stage": "Won"}), include (comma-separated relationship names to embed), limit, offset, sort\_column + sort\_dir. Optional limit (integer 1-500, default 500), offset (integer), sort\_column + sort\_dir (ASC or DESC). The answer is JSON:API \{ data: \[...], included, meta: \{ total\_records }, links }; follow links.next for the next page. |
| `list_schemas` | List the object schemas of the workspace: for each object (company, person, deal, task, custom c\_… objects) its fields with their types and its relationships. Call it first to learn the exact object names, field names (to use in attributes and filters) and relationship names. No arguments. |
| `list_users` | List the users of the workspace with their roles (ids to use in user-reference fields such as an owner). Optional limit (integer 1-500, default 500), offset (integer), sort\_column + sort\_dir (ASC or DESC). The answer is JSON:API \{ data: \[...], included, meta: \{ total\_records }, links }; follow links.next for the next page. |

## Write actions (4)

| Action | Description |
| - | - |
| `create_comment` | Add a comment on a record (Clarify has no note object: this is how to note something on a person, company, deal or task). Arguments: object (string, required, the object type of the record, e.g. "deal"); record\_id (string, required, from list\_records); text (string, required, plain text, one paragraph per line). Returns the created comment. |
| `create_record` | Create a record; returns it as JSON:API \{ data: \{ type, id, attributes } }. Arguments: object (string, required, e.g. "person", "company", "deal", "task"); attributes (object \{ fieldName: value }, required: field names and value formats come from list\_schemas; no field starting with "\_"; a collection field is an object \{ items: \[...] }, e.g. \{"email\_addresses": \{"items": \["[jane@acme.com](mailto:jane@acme.com)"]}}); optional match\_on (string, name of a UNIQUE field present in attributes — "email\_addresses" for people, "domains" for companies, "name" for deals — to update the matching record instead of creating a duplicate). A person is enriched by Clarify after creation: their name or company can change. To link a task to a deal, set the relation field in attributes (e.g. "deal\_id"). |
| `set_record_relationship` | Set the records linked to a record through one relationship (e.g. the deals of a person). Arguments: object (string, required, the object of the record); id (string, required); relationship (string, required, from list\_schemas, e.g. "deals"); related\_object (string, required, object type of the related records, e.g. "deal"); related\_ids (array of strings, required, ids of the related records). For to-one and many-to-many relationships the list REPLACES the current links (links not listed are removed, an empty array removes all): read them first with list\_record\_relationship and send the full list; for one-to-many relationships the listed records are added. |
| `update_record` | Update a record: only the fields in attributes change. Arguments: object (string, required); id (string, required, from list\_records); attributes (object \{ fieldName: value }, required; no field starting with "\_"); optional collection\_mode (object \{ fieldName: "append" \| "remove" \| "replace" }, how to apply the value of a collection field such as email\_addresses; default replace). Returns the updated record as JSON:API. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](https://docs.atako.ai/integrations/permissions.md) for the grant model and [Security](https://docs.atako.ai/integrations/security.md) for how credentials are protected.

***

*Last reviewed against the provider API: October 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.