# rasa-customers/starterpack-insurance-en architecture

> Architecture diagram of the GitHub repository rasa-customers/starterpack-insurance-en, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rasa-customers/starterpack-insurance-en
- Repository: https://github.com/rasa-customers/starterpack-insurance-en

## Overview

This is a Rasa CALM insurance customer-service assistant. The main workflow collects claim details, summarizes and submits a claim; separate flows check claim status and retrieve policy information. Custom actions read customer, policy, and claim CSV data, while the README also documents FAQs and Enterprise Search. The README supports the conversation-level links below; sampled code shows action-to-CSV reads. Flow internals and several integrations were not sampled, so their implementation-level connections are not asserted.

Main entry points: [`data/claims/flow_file_claim.yml`](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_file_claim.yml) (File claim), [`db/policies.csv`](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/policies.csv) (Policy records), [`data/policies/flow_view_policies.yml`](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/policies/flow_view_policies.yml) (View policies), [`data/claims/flow_check_claim_status.yml`](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_check_claim_status.yml) (Check status)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_conversation["Conversation flows"]
  node_claim_filing["File claim"]
  node_status_flow["Check status"]
  node_policy_flow["View policies"]
  node_faq_flow["FAQs<br/>[general.yml]"]
end

subgraph group_actions["Custom actions"]
  node_claim_summary["Claim summary"]
  node_date_validation["Date validation"]
  node_policy_selection["Select policy"]
  node_status_lookup["Claim lookup"]
  node_policy_listing["List policies"]
  node_policy_details["Policy details"]
  node_customer_data["Customer lookup"]
end

subgraph group_records["Customer records"]
  node_claims_csv[("Claims records<br/>[claims.csv]")]
  node_policies_csv[("Policy records<br/>[policies.csv]")]
  node_customers_csv[("Customer records<br/>[customers.csv]")]
end

subgraph group_knowledge["Knowledge and interface"]
  node_search_docs["Search documents"]
  node_chat_widget["Chat widget<br/>[index.html]"]
end

node_customer(("Customer"))

node_customer -->|"files claim"| node_claim_filing
node_claim_filing -->|"summarizes details"| node_claim_summary
node_claim_filing -->|"validates date"| node_date_validation
node_claim_filing -->|"selects policy"| node_policy_selection
node_customer -->|"checks status"| node_status_flow
node_status_flow -->|"retrieves claim"| node_status_lookup
node_status_lookup -->|"reads claims"| node_claims_csv
node_customer -->|"requests policies"| node_policy_flow
node_policy_flow -->|"retrieves details"| node_policy_details
node_policy_details -->|"reads policies"| node_policies_csv
node_policy_flow -->|"lists policies"| node_policy_listing
node_policy_listing -->|"reads policies"| node_policies_csv
node_claim_filing -->|"offers active policies"| node_policies_csv
node_policy_selection -->|"reads policies"| node_policies_csv
node_customer_data -->|"reads customers"| node_customers_csv
node_customer -->|"asks questions"| node_faq_flow
node_faq_flow -->|"searches knowledge"| node_search_docs
node_customer -.->|"uses interface"| node_chat_widget

click node_claim_filing "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_file_claim.yml"
click node_status_flow "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_check_claim_status.yml"
click node_policy_flow "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/policies/flow_view_policies.yml"
click node_faq_flow "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/general/general.yml"
click node_claim_summary "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_claim_summary.py"
click node_date_validation "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/validate_incident_date.py"
click node_policy_selection "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_ask_policy_num.py"
click node_status_lookup "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_check_claim_status.py"
click node_policy_listing "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_list_policies.py"
click node_policy_details "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_view_policies.py"
click node_customer_data "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/actions_get_customer_data.py"
click node_claims_csv "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/claims.csv"
click node_policies_csv "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/policies.csv"
click node_customers_csv "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/customers.csv"
click node_search_docs "https://github.com/rasa-customers/starterpack-insurance-en/tree/main/docs"
click node_chat_widget "https://github.com/rasa-customers/starterpack-insurance-en/blob/main/chatwidget/index.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_claim_filing,node_status_flow,node_policy_flow,node_faq_flow toneBlue
class node_claim_summary,node_date_validation,node_policy_selection,node_status_lookup,node_policy_listing,node_policy_details,node_customer_data toneAmber
class node_claims_csv,node_policies_csv,node_customers_csv toneMint
class node_search_docs,node_chat_widget toneRose
class node_customer toneIndigo
```

## Components

### Conversation flows

- [File claim](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_file_claim.yml): `data/claims/flow_file_claim.yml`
- [Check status](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/claims/flow_check_claim_status.yml): `data/claims/flow_check_claim_status.yml`
- [View policies](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/policies/flow_view_policies.yml): `data/policies/flow_view_policies.yml`
- [FAQs](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/data/general/general.yml): `data/general/general.yml`

### Custom actions

- [Claim summary](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_claim_summary.py): `actions/action_claim_summary.py`
- [Date validation](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/validate_incident_date.py): `actions/validate_incident_date.py`
- [Select policy](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_ask_policy_num.py): `actions/action_ask_policy_num.py`
- [Claim lookup](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_check_claim_status.py): `actions/action_check_claim_status.py`
- [List policies](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_list_policies.py): `actions/action_list_policies.py`
- [Policy details](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/action_view_policies.py): `actions/action_view_policies.py`
- [Customer lookup](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/actions/actions_get_customer_data.py): `actions/actions_get_customer_data.py`

### Customer records

- [Claims records](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/claims.csv): `db/claims.csv`
- [Policy records](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/policies.csv): `db/policies.csv`
- [Customer records](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/db/customers.csv): `db/customers.csv`

### Knowledge and interface

- [Search documents](https://github.com/rasa-customers/starterpack-insurance-en/tree/main/docs): `docs`
- [Chat widget](https://github.com/rasa-customers/starterpack-insurance-en/blob/main/chatwidget/index.html): `chatwidget/index.html`

### Other components

- **Customer**

## Connections

- Customer → File claim: files claim (evidence: `README.md`)
- File claim → Claim summary: summarizes details (evidence: `README.md`)
- File claim → Date validation: validates date (evidence: `README.md`)
- File claim → Select policy: selects policy (evidence: `README.md`)
- Customer → Check status: checks status (evidence: `README.md`)
- Check status → Claim lookup: retrieves claim (evidence: `README.md`)
- Claim lookup → Claims records: reads claims (evidence: `actions/action_check_claim_status.py`)
- Customer → View policies: requests policies (evidence: `README.md`)
- View policies → Policy details: retrieves details (evidence: `README.md`)
- Policy details → Policy records: reads policies (evidence: `actions/action_view_policies.py`)
- View policies → List policies: lists policies (evidence: `README.md`)
- List policies → Policy records: reads policies (evidence: `actions/action_list_policies.py`)
- File claim → Policy records: offers active policies
- Select policy → Policy records: reads policies (evidence: `actions/action_ask_policy_num.py`)
- Customer lookup → Customer records: reads customers (evidence: `actions/actions_get_customer_data.py`)
- Customer → FAQs: asks questions (evidence: `README.md`)
- FAQs → Search documents: searches knowledge (evidence: `README.md`)
- Customer → Chat widget: uses interface (evidence: `README.md`)
