Create Normalization Run
create_normalize_runCreate a run that rewrites field values into canonical form -- phone formats, country and state names, street abbreviations, company-name suffixes -- and WRITES the result to the CRM when dispatched. Preview the rules with preview_normalize_scheme first. WHICH RULES: the template_id you name, or the connection's Default when you name none. The Default is seeded per connection and a person authors it. A JOB-SCOPED TIDY-UP AUTHORS ITS OWN SCHEME AND NAMES IT. 'Tidy up the titles on these contacts' is a rule for THIS run, so create_rule_template a normalize template and pass its id here. EDITING THE DEFAULT INSTEAD CHANGES EVERY OTHER NORMALIZE RUN on the connection, including ones this request has nothing to do with. A person may genuinely mean to change their default -- that is a different request, and worth saying out loud before doing it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A name for the run, shown in the Runs tab. It writes canonical values to the CRM. | |
| 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. | |
| template_id | No | The normalize scheme this run applies, by id (list_rule_templates). Omit to use the connection's Default scheme. | |
| connection_id | Yes | The CRM connection. Required. Call list_crm_connections to get one. |