Fetch term life insurance quotes.
Required Field Collection Prompt:
When the user shows interest in term insurance and any required information is missing, ask ONLY for the missing fields using this format:
That's a great step! Before we proceed, I need some
information about you. Please provide the following:
- Full Name
- Gender (male / female)
- Date of Birth (DD / MM / YYYY)
- Occupation (Salaried / Self Employed)
- Annual Income (in Lacs)
- Do you chew, smoke, or use tobacco? (Yes / No)
- Education (College graduate & above, 12th Pass, 10th Pass, Below 10th)
Important:
- Do not ask for fields already provided by the user.
- Do not call the quote function until all required fields are collected.
Description:
This function is used by a Term Insurance Sales Advisor workflow to generate
personalized term insurance quotes.
Eligibility Gate — MUST validate before calling:
- DOB must be explicitly provided by the user.
- Compute completed age from DOB before calling this function.
- If computed age is below 18 or above 65, DO NOT call this function.
- Instead, politely inform the user that term insurance quotes are available only for entry age 18–65 inclusive.
- Only call this function if computed age is between 18 and 65 inclusive.
- annual_income must be explicitly provided by the user.
- gender must be explicitly provided by the user.
Advisor Flow:
- Collect required user details before calling this function:
* DOB: mandatory. Must be explicitly provided by the user.
- Supported formats:
- YYYY-MM-DD (preferred)
- DD/MM/YYYY
- DD-MM-YYYY
- DD.MM.YYYY
- Validate DOB before use.
- Compute age from DOB in completed years.
- Do not ask for or accept age as a replacement for DOB.
* Age (integer). If DOB is provided, compute age first.
* Gender: "male" or "female" (string)
* Smoker status: "smoker" or "non-smoker" (string)
* Sum assured (life cover): integer in INR (e.g., 10000000). Must be explicitly provided.
* Coverage (policy term): optional integer (years).
* Profession type: Salaried or Self-Employed.
* NRI status: optional boolean.
- Call this function only when required fields are available:
age, gender, tobacco, sum_assured
- Optional inputs:
coverage, is_nri
Default Values:
gender = "male"
smoker_status = "non-smoker"
sum_assured = 10000000 (1 Crore)
is_nri = False
profession_type = "Salaried" (default if not provided)
education = 1 (Graduate or Above)
Post-processing Guidelines:
- Summarize results including insurer, plan name, premium, coverage, and key benefits.
- For follow-up queries (cheapest plan, best insurer, riders, comparison, etc.),
reuse the last response instead of calling this function again unless inputs change.
Args:
name (str, optional):
Full name of the user.
Used for personalization and quote generation.
Default is None.
dob (str):
Date of birth of the user.
Supported formats:
- YYYY-MM-DD (preferred)
- DD/MM/YYYY
- DD-MM-YYYY
- DD.MM.YYYY
age (int):
Age of the user in completed years, computed from DOB.
Must be between 18 and 65 years.
Do not accept user-provided age as a replacement for DOB.
Constraints:
- Must be between 18 and 65 years (inclusive).
- User-provided age should not replace DOB.
gender (str, optional):
Gender of the user.
- "male" = Male
- "female" = Female
Default is "male".
smoker_status (str, optional):
Tobacco/smoking status.
- "non-smoker" = Non-smoker
- "smoker" = Smoker
Default is "non-smoker".
policy_term (int, optional):
Policy term in years (duration for which the policy remains active).
Default behavior:
- For entry age between 18 and 55 (inclusive):
policy_term = 60 - age
(coverage continues until age 60)
- For entry age above 55 up to 65:
policy_term = 10 years
(coverage continues for 10 years from entry age)
Users may override this by explicitly providing a value.
Examples:
- Age 25 → policy_term = 35 (60 - 25)
- Age 30 → policy_term = 30 (60 - 30)
- Age 45 → policy_term = 15 (60 - 45)
- Age 55 → policy_term = 5 (60 - 55)
- Age 58 → policy_term = 10
- Age 62 → policy_term = 10
Users may override this by explicitly providing a value.
sum_assured (int, optional):
Life cover amount in INR.
Example: 10000000 (1 Crore).
Default is 10000000 for non nri.
Default is 20000000 for nri.
is_nri (bool, optional):
Whether the user is a Non-Resident Indian (NRI).
Default is False.
education (int, optional):
Education level of the user.
- 1 = Graduate or Above
- 2 = Below Graduate
Default is 1 (Graduate or Above).
Categories:
- Insurance
- Term Life Insurance
- Financial Planning
- Quote Generation API
Notes:
- Age must be a valid positive integer.
- Defaults apply only when optional values are not given.
- Quotes are indicative and subject to insurer underwriting.
- If sum assured is not provided by the user:
* For NRI users, default sum assured = 20000000 (2 Crore).
* For non-NRI users, default sum assured = 10000000 (1 Crore).