Decision Log tools
Every tool in this module, with its full description, parameters, and return value. All of them require the module to be active first. See the Decision Log overview for how to turn it on.
Core tools
Create, read, update, and delete entries. Every module has exactly these four.
decision_log_add_entryAdd an entry to the user's Decision Log module. Requires the module to be active — see create_database.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| decision | string | Yes | What was decided. |
| context | string | No | The situation or background that prompted the decision. |
| options_considered | string | No | The alternatives that were weighed before deciding. |
| reason | string | No | Why this option was chosen over the others. |
| expected_outcome | string | No | What was predicted to happen as a result of the decision. |
| actual_outcome | string | No | What actually happened after the decision was made. |
| domain | career | financial | relationship | health | other | No | Domain for this decision: career, financial, relationship, health, or other. |
Returns
The created entry as JSON, including its id.
decision_log_list_entriesList entries in the user's active Decision Log module.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| limit | number | No | Max entries to return (default 100, max 500). |
Returns
Every entry in the active database, as a JSON array.
decision_log_update_entryUpdate fields on an existing Decision Log entry.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | The id of the Decision Log entry to update. |
| decision | string | No | What was decided. |
| context | string | No | The situation or background that prompted the decision. |
| options_considered | string | No | The alternatives that were weighed before deciding. |
| reason | string | No | Why this option was chosen over the others. |
| expected_outcome | string | No | What was predicted to happen as a result of the decision. |
| actual_outcome | string | No | What actually happened after the decision was made. |
| domain | career | financial | relationship | health | other | No | Domain for this decision: career, financial, relationship, health, or other. |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
decision_log_delete_entryDelete an entry from the user's active Decision Log module.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | The id of the Decision Log entry to delete. |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
Purpose-built tools
Shortcuts and queries shaped around how Decision Log is actually used, so your agent doesn't have to fetch every entry and filter them itself.
decision_log_attach_photoAttach a photo to an existing Decision Log entry (replacing any photo already on it). If you have the image's raw bytes, pass photo_base64. If the user attached the image in a chat client (e.g. claude.ai), you cannot read its bytes: call this WITHOUT photo_base64 to get a one-time upload link, and give that link to the user so they can upload the photo themselves. The link expires in 30 minutes. Photos are stored privately; the returned viewPath is only viewable signed into the connacto web app as this user.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | ID of the Decision Log entry to attach the photo to. |
| photo_base64 | string | No | The photo, base64-encoded (no data: URI prefix). Omit when you cannot read the image bytes — the tool then returns an upload link for the user instead. |
| photo_content_type | image/jpeg | image/png | image/webp | image/heic | No | MIME type of the photo, if photo_base64 is set. Defaults to image/jpeg. |
Returns
JSON with a private viewPath when photo_base64 was given, or an uploadUrl to hand the user when it was not.
decision_log_list_pending_outcomesList entries in the user's active Decision Log module whose actual outcome has not yet been recorded.
Parameters
None. Call it with an empty object.
Returns
Entries with an empty or missing actual_outcome, as a JSON array.
decision_log_record_outcomeConvenience tool to record the actual outcome of an existing Decision Log entry without a full update_entry call.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | The id of the Decision Log entry to record an outcome for. |
| actual_outcome | string | Yes | What actually happened after the decision was made. |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
decision_log_by_domainGroup all entries in the user's active Decision Log module by domain, returning the number of decisions and the number still awaiting an outcome in each domain. Entries with no domain are grouped under "uncategorized".
Parameters
None. Call it with an empty object.
Returns
One row per domain with its decision count and pending outcome count, as a JSON array.