To let an assistant use these tools, grant Product configuration on the consent screen, or just
Product admin under its Fine-tune. The scope is products.
Read tools work with Read only or Read & write access; write tools only with
Read & write.
Your assistant doesn't see these tools straight away. It finds them with search_tools or
describe_tools, and runs one with use_tool, passing its name and
arguments. Most assistants do this for you: just ask for what you want.
What your assistant is told about this group
Create and manage insurance products. A new product starts as a draft and gets its schedule document automatically. Once a product has been released, changes to its name, slug, type or codes wait until the next release is published, and customers see the old ones until then. Products can be archived, never deleted. get_product_settings and update_product_settings give one product its own value for a setting it would otherwise take from the organisation; set_product_loyalty_programme attaches a loyalty programme to a product or detaches it. Sales run on sales flows: an org's ordered list of components (pages of questions, a price, a payment, and an adviser exit ending with a hand-off), shared by reference across its sales flows. The tools and their ids call a sales flow a sales flow (list_sales_flows, sales_flow_id); say "sales flow" to the user. create_sales_flow starts one from a platform starter, duplicate_sales_flow copies one; add_sales_flow_component, move_sales_flow_component, remove_sales_flow_component and set_sales_flow_components edit its list, update_sales_flow_tone its tone. list_sales_flow_components, create_sales_flow_component, update_sales_flow_component (reaches every sales flow using it), duplicate_sales_flow_component and archive_sales_flow_component manage the components; list_platform_components lists the platform's own and copy_platform_component copies one into the library; list_standard_questions and list_requirements say what a component can ask and carry. The firm's own notices, consents and declarations live in its requirements library: list_sales_flow_requirements, create_sales_flow_requirement, update_sales_flow_requirement (rewrites every component using it) and archive_sales_flow_requirement; list_platform_requirements says the platform's in words. Every edit is held to the sales flow's checklist (get_sales_flow): one that breaks a new rule is refused. preview_sales_flow compiles the draft as a sale would run it. Going live: publish the sales flow (publish_sales_flow), attach it to a product (attach_sales_flow), then publish the product (publish_release), which freezes the sales flow's latest published version. get_product_sales_flow lists the conversation milestones a sale of the product is expected to reach and which the firm's rules make required; list_sales_flows lists the org's sales flows with the products and channels using each.
The descriptions below are the ones your assistant reads, so they're written for it. When a connection covers more than one
organisation, the assistant passes org (the organisation's slug, from list_orgs) to say which one.
create_product
Write Create a product
Create a draft insurance product (its templated schedule document is provisioned automatically). Add covers and journeys, then publish a release to go live.
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
| name required | string | |
| slug required | string | |
| product_type | string |
One of: "term", "decreasing_term", "whole_of_life", "critical_illness", "income_protection", "bundled", "child_cover", "healthcare", "pmi"
|
| currency_code | string | |
| brand_code required | string | Locked once policies have bound |
| product_code required | string | Locked once policies have bound |
| office_loading | string | |
| policy_fee_pence | integer | |
| bundle_discount_pct | string | Menu-plan multi-cover discount, e.g. "5.0" |
| cooling_off_days | integer | |
| inclusions | array of string | |
| exclusions | array of string | |
| quote_ttl_days | integer | Days an issued quote stays valid |
| sale_terms | object | insurer_name (when another firm carries the risk), cancellation_statement (own wording, {{days}} for the period), demands_and_needs_statement, pmi_underwriting_basis (PMI products only, and every PMI product needs one), annual_statement (true when the insurer sends a yearly statement) and value_added_services (non-contractual extras, one per line) |
| sale_terms.insurer_name | string | |
| sale_terms.cancellation_statement | string | |
| sale_terms.demands_and_needs_statement | string | |
| sale_terms.pmi_underwriting_basis | string |
One of: "moratorium", "full_medical_underwriting", "continued_personal_medical_exclusions"
|
| sale_terms.annual_statement | boolean | |
| sale_terms.value_added_services | string | |
| premium_illustration | object | Open-ended cover illustration: date_factor, until_age, label |
| home_site_id | string | |
| policy_admin_mode | string | |
| policy_admin_external_url | string | |
| upsell_product_ids | array of string |
update_product
Write Update a product
Update a product. Only the fields you pass change. On a product that has already been released, changes to its name, slug, type or codes wait until the next release is published.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
| name | string | |
| slug | string | |
| product_type | string |
One of: "term", "decreasing_term", "whole_of_life", "critical_illness", "income_protection", "bundled", "child_cover", "healthcare", "pmi"
|
| currency_code | string | |
| brand_code | string | Locked once policies have bound |
| product_code | string | Locked once policies have bound |
| office_loading | string | |
| policy_fee_pence | integer | |
| bundle_discount_pct | string | Menu-plan multi-cover discount, e.g. "5.0" |
| cooling_off_days | integer | |
| inclusions | array of string | |
| exclusions | array of string | |
| quote_ttl_days | integer | Days an issued quote stays valid |
| sale_terms | object | insurer_name (when another firm carries the risk), cancellation_statement (own wording, {{days}} for the period), demands_and_needs_statement, pmi_underwriting_basis (PMI products only, and every PMI product needs one), annual_statement (true when the insurer sends a yearly statement) and value_added_services (non-contractual extras, one per line) |
| sale_terms.insurer_name | string | |
| sale_terms.cancellation_statement | string | |
| sale_terms.demands_and_needs_statement | string | |
| sale_terms.pmi_underwriting_basis | string |
One of: "moratorium", "full_medical_underwriting", "continued_personal_medical_exclusions"
|
| sale_terms.annual_statement | boolean | |
| sale_terms.value_added_services | string | |
| premium_illustration | object | Open-ended cover illustration: date_factor, until_age, label |
| home_site_id | string | |
| policy_admin_mode | string | |
| policy_admin_external_url | string | |
| upsell_product_ids | array of string |
promote_product
Write Promote a product
Move a product to sandbox (internal testing) or production (live). The model enforces each gate's preconditions.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| target required | string |
One of: "sandbox", "production"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
archive_product
Write Archive a product
Retire a product from sale. Issued policies and their documents are unaffected.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| reason | string | Recorded on the lifecycle event (default: manual) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
restore_product
Write Restore an archived product
Bring an archived product back as a draft: it needs promoting to sandbox and production (with a published release) before it sells again.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
clone_product
Write Clone a product
Copy a product, with everything in its current draft (covers, journeys, questions, sales flow, documents, lifecycle events), into a new draft product. A large product is copied in the background: the response then gives a background operation id.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Source product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_product_settings
Read Get a product's settings
A product's per-product overrides of org settings (channels, payments, quoting...) with the inherited org value for each and whether it can be set here, plus the product's loyalty programme (live, and any change pending the next release).
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_product_settings
Write Update a product's settings
Set or clear per-product overrides of org settings. overrides maps setting key to value (see get_product_settings for keys, types and which are writable); null clears the override so the product inherits the org value. Only the keys given change. stripe_inline Direct Debit needs the org's Stripe Direct Debit enabled; a From address needs a verified sending domain. On a released product, version_frozen settings go live at the next release publish. Payment settings affect real customers' checkout, so confirm with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | Product id |
| overrides required | object | { setting_key: value or null } |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
set_product_loyalty_programme
Write Set a product's loyalty programme
Attach a loyalty programme to a product, change its participation, or detach it (programme_id null). mandatory enrols every policy bound on the product from then on. On a released product the change parks until the next release publishes (pending: true). A production product needs a production programme. Confirm with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id required | string | |
| programme_id | string or null | Programme id, or null to detach |
| participation | string |
Default mandatory
One of: "mandatory", "optional"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_product_sales_flow
Read Get a product's milestone sales flow
The conversation milestones a sale of this product is expected to reach (consents, disclosures, the needs summary, capture, payment and the outcome), as resolved for the organisation: which are required and by which policy rule, the evidence each takes, what must come before what, when each applies, and the tools and surfaces that produce the signal satisfying it, with the firm's own requirements as firm milestones. Also the product's default sales flow (attached; none: the platform default) and every sales flow attached to it (all_attached: attach_sales_flow, detach_sales_flow), and the version the default runs on (its live release's, else the one its next publish freezes), with that version's components. Sales are judged against it on the audit pages.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id required | string | Product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_sales_flows
Read List the org's sales flows
The organisation's sales flows, by name: each one's product type, its live version, how many components it has, whether its draft has changes not yet published, the rules its draft breaks on the product it previews, the products attaching it (default: it is the product's default; with the version each one's live release runs, and whether that is behind the live version: publish the product to catch up) and the agents whose live version sells a product on it over a channel (agents). Filter by product_type, draft_changes: true for unpublished changes, or archived: true for the archived ones.
Arguments
| Field | Type | Description |
|---|---|---|
| product_type | string |
Only this product type
One of: "term", "decreasing_term", "whole_of_life", "critical_illness", "income_protection", "bundled", "child_cover", "healthcare", "pmi"
|
| draft_changes | boolean | Only sales flows whose draft has changes not yet published |
| archived | boolean | The archived sales flows instead |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_sales_flow
Read Get a sales flow
One of the org's sales flows (list_sales_flows): its name, product type, tone and live version; its DRAFT's components in order (then the adviser exit), each with its content as a sale of the product it previews runs it (product_id, else the first product attaching it, else the org's first of its type: the requirements a sale owes are added and marked locked) and the sales flows sharing it; the checklist of rules the draft breaks there (empty: it meets every rule), and checklist_rules, each rule (sound, kinds, payment, prices, contact, requirements, sets, mixes, advisers) with its status (met, broken, not_applicable when the draft has nothing it's about, unsound or no_journey when it wasn't checked) and problems; unpublished_changes, what publishing the draft changes against the live version (each component added, removed or edited with what changed and the other sales flows sharing it, and whether the order or tone changed; null before the first publish); the milestones it puts in play (the firm's own requirements as firm milestones); whether the draft has changes not yet published; and its published versions with the products selling on each.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| product_id | string | A product of the sales flow's type to read it against |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
preview_sales_flow
Read Preview a sales flow
Compile a sales flow's DRAFT as a sale would run it, for a product of its type (product_id, else the one it previews) and one of the product's journeys (journey_id, else its first), on a channel (web by default): every stage in order with its type, page copy, config, milestone and the agent's text for that channel, the channel's lens (the stages it merges into one beat), and any errors. Nothing is saved.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| product_id | string | A product of the sales flow's type |
| journey_id | string | One of the product's journeys |
| channel | string |
The channel; web by default
One of: "web", "sms", "whatsapp", "email", "form_guide", "voice"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_sales_flow_components
Read List the org's sales flow components
The organisation's sales flow components, by name: each one's kind (page, price, payment or handoff), its content (copy, questions, the requirements before and after them, notes for the agent) and the sales flows using it. Filter by kind, or archived: true for the archived ones.
Arguments
| Field | Type | Description |
|---|---|---|
| kind | string |
Only this kind
One of: "page", "price", "payment", "handoff"
|
| archived | boolean | The archived components instead |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_platform_components
Read List the platform's components
The platform's own components, beside the org's library (list_sales_flow_components): every distinct page, price and payment the starters build (create_sales_flow), each with its key, name, kind, content and the starters using it. Read only: copy_platform_component puts one in the library to change and add to a sales flow. kind filters (page, price, payment).
Arguments
| Field | Type | Description |
|---|---|---|
| kind | string |
Only this kind
One of: "page", "price", "payment", "handoff"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_standard_questions
Read List the standard questions
The platform's own questions a sales flow page can ask ({ source: "standard", key }): who the customer is, the other person on a joint policy and the cover, each with its label, how it is asked, where the answer is stored and the settings it takes. Product questions come from the journey's question sets instead ({ source: "product", set }).
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_requirements
Read List the requirements a component can carry
The regulated items a sales flow component can carry before or after its questions ({ requirement: <key> }): each one's label, kind (tell, ask or confirm), whether a component can carry it (the rest are the platform's, said in the conversation), where it is added when a sale owes it and it is missing, and why a move is refused. With product_id, also the ones a sale of that product owes (mandatory): every sales flow it sells on carries those, locked.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id | string | Product id |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_sales_flow_requirements
Read List the firm's own requirements
The organisation's own requirements library, by name: notices to tell the customer (kind tell), consents to ask for (ask) and declarations to confirm (confirm), each with its key, its words, the firm milestone it becomes and the components using it. A component places one as { requirement: "firm", id }. archived: true for the archived ones instead.
Arguments
| Field | Type | Description |
|---|---|---|
| archived | boolean | The archived requirements instead |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_platform_requirements
Read List the platform's requirements, in words
The platform's own requirements as a firm reads them, beside its library (list_sales_flow_requirements): placeable, the ones added to a sales flow's components where the rules need them, and conversation, the ones the platform says in a chat or call. Each with its name, kind (tell, ask or confirm) in words, where it goes, what it must come before, why it sits there and where its words come from. list_requirements gives the keys a component places.
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_sales_flow
Write Create a sales flow
Create one of the org's sales flows for a product type from a platform starter (starter; by default pmi for a PMI sales flow, else standard; a *_no_payment starter ends with a hand-off instead of payment). The starter's components are saved as the sales flow's own copies. Change its components with add_sales_flow_component, move_sales_flow_component, remove_sales_flow_component or set_sales_flow_components, publish it with publish_sales_flow, then attach it to products with attach_sales_flow. duplicate_sales_flow copies an existing one instead. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | The sales flow's name, unique in the org |
| product_type required | string |
The type of product it is written for
One of: "term", "decreasing_term", "whole_of_life", "critical_illness", "income_protection", "bundled", "child_cover", "healthcare", "pmi"
|
| starter | string |
The starter to begin from
One of: "standard", "standard_no_payment", "quote_first", "quote_first_no_payment", "market", "child_cover", "child_cover_no_payment", "health_membership", "health_membership_no_payment", "pmi", "pmi_no_payment"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
duplicate_sales_flow
Write Duplicate a sales flow
Copy one of the org's sales flows: the same product type, tone and components in the same order, named "<name> (copy)" unless a name is given. The copy SHARES the components (an edit to one reaches both sales flows): duplicate_sales_flow_component first to change one for the copy alone. Nothing is published. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | The sales flow to copy (list_sales_flows) |
| name | string | The copy's name, unique in the org |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
rename_sales_flow
Write Rename a sales flow
Rename one of the org's sales flows. Its product type can't change. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| name required | string | The new name, unique in the org |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_sales_flow_tone
Write Set a sales flow's tone
Set the tone every stage of the sales flow's agent text carries (e.g. "Warm, plain English, no jargon."), at most 1,000 characters; an empty tone clears it. A DRAFT change: it goes live once the sales flow is published and then each product using it. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| tone required | string | The tone; empty clears it |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
add_sales_flow_component
Write Add a component to a sales flow
Add one of the org's components (list_sales_flow_components) to a sales flow's DRAFT, at a 0-based position in its main list (the end by default), or in its adviser exit (exit: true). The component is shared by reference: an edit to it reaches every sales flow using it. key: the stage key it compiles to (lower-case letters, digits and underscores), by default from its name. Refused when it adds a rule the sales flow's checklist didn't break (the problem is named); build a list up one step at a time, or set it whole with set_sales_flow_components. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| component_id required | string | Component id (list_sales_flow_components) |
| key | string | Its stage key; from its name by default |
| position | integer | 0-based position in its list; the end by default |
| exit | boolean | true for the adviser exit |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
add_sales_flow_requirement
Write Add a requirement to a sales flow
Put one of the firm's own requirements (list_sales_flow_requirements) into a sales flow's DRAFT at a 0-based position of its main list (the end by default), on a page of its own: a new component holding only that requirement, so no other sales flow changes. Refused when it breaks a rule (for example a consent placed after payment); nothing is created then. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| requirement_id required | string | The firm's requirement id (list_sales_flow_requirements) |
| position | integer | 0-based position in the main list; the end by default |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
move_sales_flow_component
Write Move a component within a sales flow
Move a component of a sales flow's DRAFT, named by its stage key (get_sales_flow's steps), to a 0-based position within its own list (the main list or the adviser exit). Refused when it adds a rule the sales flow's checklist didn't break (the problem is named). Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| key required | string | The component's stage key on the sales flow |
| position required | integer | 0-based position within its list |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
remove_sales_flow_component
Write Remove a component from a sales flow
Take a component, named by its stage key (get_sales_flow's steps), off a sales flow's DRAFT. The component itself stays for the org's other sales flows. Refused when it adds a rule the sales flow's checklist didn't break (the problem is named); a sales flow keeps at least one component. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| key required | string | The component's stage key on the sales flow |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
set_sales_flow_components
Write Set a sales flow's components
Replace a sales flow's whole main list in one change, and its adviser exit when exit is given ([] takes it off; left out, it stays): each entry one of the org's components (list_sales_flow_components) with its stage key (from its name when left out). Checked as a whole: refused, naming the problem, when the result breaks a rule the checklist didn't. A DRAFT change. Confirm with the operator first. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| components required | array of object | The main list, in order |
| components[].component_id required | string | |
| components[].key | string | Its stage key |
| exit | array of object | The adviser exit, in order, ending with a hand-off |
| exit[].component_id required | string | |
| exit[].key | string | Its stage key |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
publish_sales_flow
Write Publish a sales flow version
Publish a sales flow's draft as its next version, with notes on what changed: the version freezes its components. Products take it at their next publish (publish_release), and so do the channels selling on it; no sale changes before then. Refused when the draft breaks a rule on a product attaching it or selling on it (each problem named: get_sales_flow's checklist), when it has no changes since the live version, or when it doesn't hold together. Confirm with the operator first. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| notes | string | What changed in this version |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
discard_sales_flow_changes
Write Discard a sales flow's unpublished changes
Put a sales flow's draft back to its live version: its components' order, keys, adviser exit and tone, and each component it names back to its published name and content. Components are shared, so other sales flows naming an edited one see it go back too: say which first (get_sales_flow's unpublished changes). Refused for a sales flow never published or with no changes. Confirm with the operator first. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
restore_sales_flow_version
Write Restore a sales flow version to the draft
Make a sales flow's draft one of its published versions again: its components' order, keys, adviser exit and tone, and each component it names as that version froze it. The draft's unpublished changes are lost, and components shared with other sales flows go back for them too: compare first (compare_sales_flow_versions, from the version to "draft") and say so. Nothing that sells changes until the draft is published (publish_sales_flow). Confirm with the operator first. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| version required | integer | The version number to restore (get_sales_flow's versions) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
compare_sales_flow_versions
Read Compare sales flow versions
What changed between two of a sales flow's versions, or a version and the draft: each component added, removed or edited (with what changed, in words), and whether the order or the tone changed. from and to are version numbers (get_sales_flow's versions) or "draft" (the default for to).
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | Sales flow id (list_sales_flows) |
| from required | string | A version number, or "draft" |
| to | string | A version number, or "draft" (default) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
archive_sales_flow
Write Archive sales flow
Archive the sales flow: it leaves lists and pickers and can't be newly chosen, while everything that already used it keeps working. Refused while anything live still uses it (the error says what, so switch those first). Undo with restore_sales_flow.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
restore_sales_flow
Write Restore sales flow
Restore an archived sales flow to lists and pickers.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_sales_flow
Write Delete sales flow
Delete an ARCHIVED sales flow for good. Only possible when nothing, live or historical, has ever used it; otherwise it stays archived. Irreversible: confirm with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| sales_flow_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
attach_sales_flow
Write Attach a sales flow to a product
Attach one of the org's published sales flows (list_sales_flows) to a product of its type, or, with default: true, make an attached one the product's default (a product's first is its default). A product sells on every sales flow attached to it: its web form, public quotes and any agent channel without a choice of its own on the default, and an agent version on the one it chooses per channel (create_agent_version's sales_flows). A DRAFT change to the product: its next publish (publish_release) freezes each sales flow's latest published version, and sales from then on run on them; sales under way keep the release they started on. detach_sales_flow takes one off. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id required | string | Product id |
| sales_flow_id required | string | The sales flow to attach, or make the default |
| default | boolean | Make it the product's default |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
detach_sales_flow
Write Detach a sales flow from a product
Take a sales flow off a product, from the product's next publish (publish_release). Refused while it is the product's default and others are attached (make another the default with attach_sales_flow first), and while an agent's live or draft version sells the product on it (choose another on a new version first: the refusal names the agents). Detaching the only one leaves the product on the platform's default. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id required | string | Product id |
| sales_flow_id required | string | The attached sales flow to take off |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_sales_flow_component
Write Create a sales flow component
Create one of the org's components: a page of questions, a price, a payment or the adviser exit's hand-off (kind), with its content. Problems name their path. No sales flow uses it until one adds it (add_sales_flow_component). Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | Its name, unique among the org's components |
| kind required | string |
One of: "page", "price", "payment", "handoff"
|
| content | object | The component's content: copy { title, heading, intro, button }; questions (a page's only), each { source: "standard", key } (list_standard_questions, with its settings), { source: "product", set } (a question set of the product's journey, or "remaining"), or the firm's own { source: "firm", key, kind: "choice", label, options [{ key, title, to: "adviser" }] } or { source: "firm", key, kind: "text", label }; before and after, the requirements around the questions: { requirement: <key> } (list_requirements) or one of the firm's own { requirement: "firm", id } (list_sales_flow_requirements: its key, kind and words are copied in); notes { default, voice, messaging } for the agent; split_by_set; price { assume_non_smoker, card, summary } (a price's only: card is the quote card's words { greeting, heading, lead, price_label, amount_row, term_row, no_term, cover_type_row, basis_row, critical_illness_row, income_protection_row, nicotine_row, benefits, disclaimer, guaranteed, discount }, benefits a list of lines, {name} and {amount} in greeting and discount; summary the side panel's { cover_label, level_label, bound_title, note, ask_title, ask_text }); payment { wrap_up, screen } (a payment's only: screen is the bank details screen's words { title, intro, bind_failed, bind_failed_direct_debit, bind_failed_button }); the sum_assured question's mortgage { heading, amount_label, amount_placeholder, type_label, repayment, interest_only, mix, term_label, term_placeholder } words the mortgage box, term_years's label and hint the term control |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_sales_flow_component
Write Update a sales flow component
Rename a component or replace its whole content (only what is given changes). The edit reaches EVERY sales flow using it (listed in sales_flow_ids) at that sales flow's next publish: refused, naming the sales flow and the problem, when it breaks a rule on any of them that wasn't broken before. duplicate_sales_flow_component first to change it for one sales flow alone. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| component_id required | string | Component id (list_sales_flow_components) |
| name | string | Its new name |
| content | object | The component's content: copy { title, heading, intro, button }; questions (a page's only), each { source: "standard", key } (list_standard_questions, with its settings), { source: "product", set } (a question set of the product's journey, or "remaining"), or the firm's own { source: "firm", key, kind: "choice", label, options [{ key, title, to: "adviser" }] } or { source: "firm", key, kind: "text", label }; before and after, the requirements around the questions: { requirement: <key> } (list_requirements) or one of the firm's own { requirement: "firm", id } (list_sales_flow_requirements: its key, kind and words are copied in); notes { default, voice, messaging } for the agent; split_by_set; price { assume_non_smoker, card, summary } (a price's only: card is the quote card's words { greeting, heading, lead, price_label, amount_row, term_row, no_term, cover_type_row, basis_row, critical_illness_row, income_protection_row, nicotine_row, benefits, disclaimer, guaranteed, discount }, benefits a list of lines, {name} and {amount} in greeting and discount; summary the side panel's { cover_label, level_label, bound_title, note, ask_title, ask_text }); payment { wrap_up, screen } (a payment's only: screen is the bank details screen's words { title, intro, bind_failed, bind_failed_direct_debit, bind_failed_button }); the sum_assured question's mortgage { heading, amount_label, amount_placeholder, type_label, repayment, interest_only, mix, term_label, term_placeholder } words the mortgage box, term_years's label and hint the term control |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
duplicate_sales_flow_component
Write Duplicate a sales flow component
Copy one of the org's components (same kind and content), named "<name> (copy)" unless a name is given, to change for one sales flow without reaching the others: put the copy in its place with set_sales_flow_components. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| component_id required | string | Component id (list_sales_flow_components) |
| name | string | The copy's name |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
copy_platform_component
Write Copy a platform component into the library
Copy one of the platform's components (list_platform_components) into the org's library, the firm's own to change: the same kind and content, under its name unless one is given (numbered when the library has it). Add it to a sales flow with add_sales_flow_component. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| key required | string | The platform component's key (list_platform_components) |
| name | string | The copy's name |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
archive_sales_flow_component
Write Archive or restore a sales flow component
Archive one of the org's components (archived: true, the default), or bring one back (false). Refused while any sales flow uses it (the refusal names them): take it off those first. Published versions keep their own copy, so no sale changes. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| component_id required | string | Component id (list_sales_flow_components) |
| archived | boolean | true to archive, false to restore |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_sales_flow_requirement
Write Create one of the firm's own requirements
Add a requirement to the organisation's library, for its components to place: a notice, a consent or a declaration in the firm's words. key (the firm milestone firm_<key>) comes from the name when left out and can't change later. No component uses it until one places it ({ requirement: "firm", id } in create_sales_flow_component or update_sales_flow_component). Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | Its name in the library |
| kind required | string |
tell: a notice the customer is told; ask: a consent question they answer yes or no (on a page of its own, never beside a confirm); confirm: a declaration they agree to
One of: "tell", "ask", "confirm"
|
| text required | string | The words the customer reads or hears |
| key | string | Lower-case letters, digits and underscores, unique in the org (optional) |
| required_before | string |
What it holds until the customer meets it: quote_accepted (they can't accept the price), policy_bound (the policy can't be issued), or none (not required, recorded if met). A required one must sit before that step in the sales flow. A confirm or tell is met when the customer confirms its page, an ask by their yes; a manager's attestation meets it too (optional: none when left out)
One of: "quote_accepted", "policy_bound", "none"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_sales_flow_requirement
Write Update one of the firm's own requirements
Rename a requirement in the organisation's library or change its kind, its words or what it is required before (only what is given changes; the key stays). It rewrites every component using it, reaching their sales flows (listed in reaches) at each one's next publish: refused, listing each problem, when it breaks a rule on any of them that wasn't broken before. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| requirement_id required | string | Requirement id (list_sales_flow_requirements) |
| name | string | Its new name |
| kind | string |
tell: a notice the customer is told; ask: a consent question they answer yes or no (on a page of its own, never beside a confirm); confirm: a declaration they agree to
One of: "tell", "ask", "confirm"
|
| text | string | Its new words |
| required_before | string |
What it holds until the customer meets it: quote_accepted (they can't accept the price), policy_bound (the policy can't be issued), or none (not required, recorded if met). A required one must sit before that step in the sales flow. A confirm or tell is met when the customer confirms its page, an ask by their yes; a manager's attestation meets it too
One of: "quote_accepted", "policy_bound", "none"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
archive_sales_flow_requirement
Write Archive or restore one of the firm's own requirements
Archive a requirement in the organisation's library (archived: true, the default), or bring one back (false). Refused while any component uses it (the refusal names them): take it off those first. Published versions keep their own copy, so no sale changes. Managers only.
Arguments
| Field | Type | Description |
|---|---|---|
| requirement_id required | string | Requirement id (list_sales_flow_requirements) |
| archived | boolean | true to archive, false to restore |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |