Delete record
delete_recordArchive by object_type + id. DESTRUCTIVE: call for confirmation, then confirm:true. Sets deleted_at, never hard-deletes: custom objects, reports (creator/manager/admin), whole quotes (lines cascade), contacts, opportunities, tasks, signals and touches. Contact history/account links remain restorable. Accounts refuse while any open opportunity or subscription remains; returned counts guide closing, re-pointing or marking lost first. Contacts/touches/notes/tasks remain as history and do not block. Subscriptions use cancel_subscription or update_record; individual quote lines use update_quote to change the line set. Returns the archived record.
When to use: A mistaken or duplicate record should go (archive, soft delete).
Example: Delete that duplicate contact .
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A uuid. | |
| confirm | No | Boolean (true/false). | |
| object_type | Yes | Object key of the record to archive, e.g. contact, opportunity, task, touch, account, report, quote, a custom object's key, or rollup / automation / field / object / pipeline (admin-only; the id from describe_schema); subscription is refused. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| record | No | ||
| result | No | ||
| deleted | No | ||
| requires_confirm | No |