crm_activity_save
Record work against an organization or a deal, or change work already recorded. An activity is a task, so this writes what task_add and task_update write, plus the calendar entry when the work goes in the calendar. `workspace_write` · v1
Authorization
memberToken The tools internkim uses inside a company, callable from outside it. A token belongs to a person, and every call runs as that person, so a token can never do more than its owner can.
The first token is made signed in, from the settings screen. After that a token makes its own
successors: POST /token for a new one, DELETE /token for the old one, so a script rotates
without a browser. A token can neither mint a rung above its own nor revoke itself.
Send Authorization: Bearer <token> on every request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
text/plain
curl -X POST "https://example.com/tools/crm_activity_save/invoke" \ -H "Content-Type: application/json" \ -d '{ "input": { "endsAt": "2026-09-05", "participantPersonHints": [ "Sample Lee", "Example Park" ], "startsAt": "2026-09-01", "status": "planned" } }'{ "toolName": "crm_activity_save", "outcome": "succeeded", "selectedBackend": "device", "effects": [ { "objectType": "crm", "effect": "created", "id": "7a93de11-…" } ], "result": { "…": "the tool's own document" }}crm_activity_list POST
The activity recorded against the organizations and deals this company holds, newest first, with the labels and colours the CRM screens draw it in. The same rows task_list answers, shaped for the CRM. `read` · v1
crm_contact_add POST
Add a contact, a person at an organization this company already holds, which crm_organization_add creates when it does not. `workspace_write` · v1