Create record
create_recordCreate a record of ANY object type. Pass object_type + a data object of the object's fields (relationship fields take the target record's id). Works for custom objects (partner, product, investor — records-backed) AND the built-in objects (account, contact, opportunity, subscription, task, signal, touch), where it routes to the same domain logic as the typed create tools. The caller becomes the owner of custom records unless owner_id is given. For custom records, set the object's display-name field (usually name, or the object's display_field) so the record is findable by name in the propose_updates matcher. For sequence, include ordered steps [{title,brief,channel,day_offset}] and request_id (UUID) in data to save a whole plan atomically; timing_mode is from_start or after_previous, offsets remain cumulative, and skip_weekends/pause_on_reply are optional. A sequence saves a plan; it never sends messages. For touch, request_id (UUID) plus occurred_at makes the activity retryable; sequence_action:{enrollment_id,step} records an outbound activity and advances that exact sequence step through governance. Its sequence_tracking result says updated, pending or unchanged; retry the same payload to finish a pending step update. Returns the created record (its full fresh state).
When to use: The generic create. Pass object_type + a data object of its fields. Routes built-in objects to the same domain logic as the folded typed create tools; custom objects are records-backed.
Example: Add a partner 'Globex' with tier gold.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The new record's fields as key → value (relationship fields take the target record's uuid); for a built-in object, the same fields its typed create accepts. | |
| owner_id | No | A uuid. | |
| request_id | No | Retry key: a client-generated UUID. Repeating a call with the same request_id and arguments within 24h replays the earlier result instead of creating a second record. For touch and sequence, put request_id inside data instead so the record itself stores it. | |
| object_type | Yes | Object key, e.g. account, contact, opportunity, task, touch, or a custom object's key; an unknown key returns the workspace's valid types instead of creating. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| record | No | ||
| result | No | ||
| created | No | ||
| object_type | No | ||
| custom_field_definitions | No |