When rules run
New business has no source Policy, so it has no
POLICY_TO_QUOTE rule set. Author
each direction separately: a rule combining two Quote fields into one Policy
field does not specify how to split that value when generating another Quote.
For cancellation and reinstatement, QUOTE_TO_POLICY rules are framework-only.
These transactions change lifecycle state; ordinary field edits belong in an
endorsement. Required framework rules and platform lifecycle processing remain
separate from your optional business mappings.
Generate returns an editable draft without storing a Quote. Bind evaluates the
Quote-to-Policy rules using the submitted or persisted Quote data. Editing a
generated draft therefore affects the values available to Bind.
Author a mapping
Add rules to theconversionRules array in your configuration. A row has four
properties:
For example, this rule writes a Quote’s
applicantName into a Policy’s
customerName:
customerName during RENEW, but
cannot give it two writers within QUOTE_TO_POLICY/NEW_BUSINESS.
Transform values with JEXL
Expressions can combine values, use conditional logic, perform arithmetic, and call supported pure functions. For example, replace the expression above with:firstName = "Alex" and lastName = "Morgan", the result is "Alex Morgan".
Declare both source fields as Single String fields.
These examples illustrate other business mappings. Their source fields must be
declared and their destination types must match the expression results.
Date arithmetic can express a renewal end date through a tenant-authored
POLICY_TO_QUOTE/RENEW rule. It does not grant permission to overwrite a
framework-pinned date rule in another scope.
Available inputs
Use
source.applicantName, not bare applicantName. Every rule sees the same
source and transaction inputs. Rules cannot read another rule’s output, and row
order does not control execution. To combine values, read the original source
fields together in one expression.
Only pure, deterministic functions are allowed: the same inputs must produce the
same result. Explicit date arithmetic is supported; reading the current clock,
querying other records, allocating identifiers, or making external calls is not.
JEXL expressions are not arbitrary JavaScript programs. Configuration validation
rejects unsupported or unsafe function calls.
Omit, clear, or write
Use
CLEAR() for an explicit null result. Bare null is rejected: JEXL treats it
as an identifier rather than a null literal. Referencing a nonexistent field is
also invalid; it is not a way to request omission.
“No write” describes the conversion step. Required framework values and
transaction lifecycle behavior still apply. If an expression fails structurally,
the conversion fails; it does not silently supply a replacement value or return
a partially converted result.
Destinations and required rules
A rule can target a top-level field or a nested field through Single-cardinality objects, such asmailingAddress.city. Whole List values can be assigned when
types and cardinalities match. Indexed paths, wildcards, per-list-item destination
paths, and traversal through Joins are not supported.
Within one direction and transaction type, mailingAddress and
mailingAddress.city cannot both have writers. Different sibling fields can.
Your configuration includes required framework rules for platform-owned values.
Keep their destinations and expressions intact. Optional tenant rules cannot
write system-managed fields or replace pinned framework behavior. Import rejects
missing or changed framework rules, including on a first import or a forced import.
Maintain and validate your configuration
New companies receive an authored starter configuration, including required Conversion Rules. Customize that configuration for your business:- Export the current configuration through the Configuration API.
- Review the rules affected by your field or business change. Decide the mapping independently for each direction and transaction type.
- Edit those rules while preserving the complete configuration and required rows.
- Validate the complete body or use an import dry run. Fix invalid source references, destinations, expressions, types, cardinalities, or overlapping writers.
- Import through your normal review process, then verify the intended Generate and Bind behavior in a test environment.
