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.
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"
|
| 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) and cancellation_statement (own wording, {{days}} for the period) |
| sale_terms.insurer_name | string | |
| sale_terms.cancellation_statement | 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 | |
| presentation_pin_mode | 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"
|
| 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) and cancellation_statement (own wording, {{days}} for the period) |
| sale_terms.insurer_name | string | |
| sale_terms.cancellation_statement | 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 | |
| presentation_pin_mode | 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) |
clone_product
Write Clone a product
Copy a product, with everything in its current draft (covers, journeys, questions, presentations, 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) |