Create Assignment Run
create_assignment_runCreate a run that assigns record owners: it reads a configured field on each record, maps that value to a rep pool, picks a rep by the pool's rotation strategy, and writes OwnerId. It carries NO payload -- the field, the pools and the strategy are configuration a person sets, read at dispatch. It OVERWRITES the owner it finds, so scope with filter_spec if you mean only unowned records.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A name for the run, shown in the Runs tab. It overwrites whatever owner each record already has. | |
| disposition | No | Who releases this run's writes. 'execute' dispatches the pass on request, which is the default and what every run has always done. 'queue' stamps the run awaiting_approval and launches nothing until a person approves it. 'propose' dispatches the pass, which computes everything and writes NOTHING to the CRM, putting one reviewable proposal in the queue per record it would have changed — so a person approves the changes one at a time instead of the run wholesale. A credential may ask for either form of review and may never release it. Note that 'propose' still SPENDS what computing spends: an enrichment set to propose buys the provider data and then queues the writes, because a value nobody fetched cannot be proposed. | execute |
| filter_spec | No | Which records this run covers, as a filter tree. Omit for the whole object. It DESCRIBES a population and is resolved when the run is DISPATCHED, so write what you mean -- the CRO at Skypoint is `account_name is Skypoint AND title contains CRO` -- and never look a record up to write one. You need no ids and no counts. Call list_filterable_fields first, for the field names and operators only. | |
| object_type | Yes | Which CRM object the run targets: contact, account or lead. | |
| connection_id | Yes | The CRM connection. Required. Call list_crm_connections to get one. |