Low-code Product Workbench

Take control and build your differentiation

Stay in control as you build and iterate on bespoke, programmable, API-ready insurance products without external bottlenecks or technical barriers.

How it works

Build with tools designed for developers

The developer-experience is at the heart of what Root does. We give control to builders and continuously optimise Root's tooling, assuring a frictionless, delightful experience tailored to the needs of innovators.

Watch explainer videos
Build any insurance experience, without constraints

Prototype and launch universally programmable, API-ready insurance products without compromising on the features that set them apart.

Set your own pace

Achieve real speed to market without  the constraint of relying on external providers. Execute at your own pace, on your own schedule.

Autonomously test and iterate

Independently test and validate products with your customers and iterate on your own, in real time.

Optimise & Grow

The developer portal into your insurance products

Workbench allows you to iterate on highly bespoke, universally programmable, API-ready insurance products. Root removes technical barriers and dependency on development providers, allowing your team to move faster without compromise.

CLI tool

  • Intellisense & code snippets
  • Integrate into CI/CD workflow
  • Real-time document preview
  • Automation test suite

Dashboard tooling

  • Product run logs
  • Product-specific API docs
  • Customer notifications
  • Product templates

Quality assurance

  • Sandbox environment
  • Product versioning
  • Secure testing of draft versions
  • Use with Git and Github

Tech stack

  • JavaScript low-code hooks
  • JSON for config
  • HTML & CSS documents
  • MJML for emails

$ rp clone my_product
> my_product successfully cloned into ~/my_product


$ rp push
> Product changes pushed to Root, created version 12.9

$ rp pull
> Product changes fetched from Root, no conflicts

$ rp test

> 42/42 tests passing ✓

Product Logic

Build your product through complete programmatic access

Flexibly configure a range of platform features to meet product-specific requirements with the Workbench command line interface (CLI) tool, available through npm.

Pricing logic

Overcome the limitations of traditional pricing approaches with Root’s pricing engine. Build dynamic premium logic into your product, such as accounting for bespoke rating factors or leveraging external data sources.

Easily include the calculation of charges like reinsurance premiums, commission, other intermediary fees, risk premiums, and more.

pricing.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const calculatePremium = (data) => {
 const { cover, species, age, sterilised } = data;  

// Leverage your external pricing API
 const response = await fetch('https://api.myservice.com', {
   method: 'POST',
   body: JSON.stringify({ age, species });
 });
 const result = await response.json();  

// or do pricing calculations here
 const rate = result.rate;
 const discount = sterilised ? 0.05 : 0;
 const premium = Math.round(cover * rate * (1 - discount));  

  return premium;
};

Product configurations

Deep dive workshops are designed to explore growth strategies with you, to unpack your requirements and tailor your insurance solutions.

  • Define the policy scheme type
  • Set policy activation events
  • Specify allowed policyholder types
  • Define the number of allowed beneficiaries
  • Define policy status and lifecycle rules
  • Enable policy documents
  • Configure billing settings
.root-config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
 "settings": {
   "policySchemeType": "individual",
   "activatePoliciesOnEvent": "payment_method_assigned",
   "policyholder": {
     "individualsAllowed": true,
     "companiesAllowed": false
   },
   "beneficiaries": null
 },
 "waitingPeriod": {
   "period": 30,
   "periodType": "days"
 },
 ...
}

Policy documents

Policy documents are set up in HTML using curly-bracket templates for dynamic data, and automatically converts to PDF.

policy-schedule.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html lang="en">
 <head>...</head>
 <body>
   <div class="header">
     <img class="petinsurance-logo"/>
     <div>POLICY DETAILS</div>
   </div>
   <div class="padded">
     <p>Your beloved furry friend is now covered!</p>
     <p><strong>PET DETAILS</strong></p>
     <div class="one-three-split">
       <div>Policy Number</div>
       <div>{{ policy.policy_number }}</div>
     </div>
     ...
   </div>
 </body>
</html>

Policy amendments

Once a policy has been issued, policy management functions, from cancelling or reactivating policies to making policy amendments, are governed by standard Root platform rules and product-specific rules configurable in Workbench.

alterations.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const applyAlteration = (data) => {
 const { policy, policyholder, alteration_package } = data;
 
 // Do things, like extending the policy
 policy.end_date = moment().add(1, 'month');  

  // changing the benefits
 policy.module = {
   ...policy.module,
   sterilised: alteration_package.sterilised,
   search_and_rescue: alteration_package.search_and_rescue,
 };  

  // or calculating a new premium and cover
 policy.monthly_premium = calculatePremium(alteration_package);  

return new AlteredPolicy(policy);
};

Claims workflow

Root has a multi-step claims workflow with customisable claim information parameters specifying the information to be captured on a claim.

Claim workflows use blocks and display conditions in a claim schema. This schema is a JSON array of objects, each containing a block and display conditions.

Block states can be read and updated through the API.

claims-blocks.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "block": {
    "key": "accident_event",
    "type": "input.paragraph",  
    
     "title": "Description of accident"
  },
  "show_if": "{{if claim_type '===' 'accident'}}"
},
{
  "block": {
    "key": "date_of_first_clinical_signs",
    "type": "input.date",
    "title": "Date of first clinical signs"
  },
  "show_if": "{{if claim_type '===' 'illness'}}"
}
Get a head start with product starter templates

All product starter templates are designed ready for launch and include comprehensive product logic and key benefits that can be customised using Workbench to match your unique requirements.

Learn more
Funeral cover

Key features include:

  • Logic for advanced cover tranches
  • Complex policy alterations
  • Advanced claims architecture including waiting periods
  • Automated anniversary logic
Pet cover

Key features include:

  • Variable pricing using rating tables
  • Adjustments with alteration hooks
  • Examples for schemas, blocks, disbursements and documents
Device cover

Key features include:

  • Reactivation logic using lifecycle hooks and actions
  • Variable pricing with excess amount allocation
  • Pre-populated claims blocks using HTTPS requests

White-label frontends

Get to market fast with Root Embed

Switch on digital insurance journeys by embedding an iframe into an existing customer experience or launch it as a standalone website. Customise your Embed experience using Workbench with minimal development effort.

Read the docs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
 "quote": {
   "wording": {
     "description": "Here’s your final quotation.",
     "callToAction": "Let'start!"
   }
 },
 "styles": {
   "colors": {
     "primary": "#240E8B",
     "highlight": "#0A9EEC",
     "backgroundHighlight": "E8ECF5"
   },
   "fontFamily": {
     "body": "Numans"
   },
   "borderRadius": {
     "button": "10px"
   },
   ...
 }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
 "quote": {
   "wording": {
     "description": "Pet cover quotation",
     "callToAction": "Let's start!”
   }
 },
 "styles": {
   "colors": {
     "primary": "#FFC75D",
     "highlight": "#FF4C53",
     "backgroundHighlight": "#F9F7F1"
   },
   "fontFamily": {
     "body": "Helvetica Neue"
   },
   "borderRadius": {
     "button": "2px"
   },
   ...
 }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
 "quote": {
   "wording": {
     "description": "Great! Here's your final quote.
       You can still make adjustments if you need to."
,
     "callToAction": "Get life cover”
   }
 },
 "styles": {
   "colors": {
     "primary": "#0D7366",
     "highlight": "#52E384",
     "backgroundHighlight": "#FFFFF"
   },
   "fontFamily": {
     "body": "Lato"
   },
   "borderRadius": {
     "button": "30px"
   },
   ...
 }
}

Customer notifications

Tailored automated notifications

Use Root’s communication tooling to keep your customers in the loop throughout their policy lifecycle and claims process.

Configure white-labeled customer notifications through the Workbench Dashboard. Set up email and SMS communication for specific events, edit wording and design in MJML and dynamically inject policy information using handlebars.

Read the docs
Ready to get started with Root?