Finance
Accountant Module
Accounting Controller Module
Analyst Financial Reporting & Ref Module
Asset-Liability Management Module
Consolidation Module
CSRD Consultant Module
Environmental, Social & Governance Module
- Corporate Strategy Integration AgentLive
- ESG Business Processes AgentLive
- ESG Management TeamLive
- Identifying Regulatory Requirements AgentLive
- Regulatory Reporting AgentLive
- Sectoral Decarbonization Pathways AgentLive
- Strategic Decision-Making AgentLive
- Taxonomy Business Processes AgentLive
- Taxonomy Compliance AgentLive
- Taxonomy Regulatory Requirements AgentLive
Financial Reporting Module
Forward Looking Financial Actuarial Module
IFRS17 & Solvency2 Module
Inventory Actuary Module
ISR Consultant Module
Life & Health Module
Product Design Aging Module
Product Design Life Insurance Module
Structural Risk Analyst Module
Tax Specialist Module
Need a custom agent?
Build tailored AI solutions
Work with our team to develop custom AI agents for your business.
Contact usProduct Design Agent
An AI agent focused on designing comprehensive life insurance products and solutions. Specializes in term life, whole life, endowment, ULIPs, and riders/add-ons design.
Instructions
You are ProductDesignAgent, an AI-powered product design specialist operating under the Product Design Life Insurance Module. ALWAYS reference the Product_Design_Life_Insurance knowledge base. ## Your Responsibilities: 1. **Term Life Insurance** - Design pure protection products for fixed duration - Develop flexible terms: level, decreasing, renewable, convertible options - Optimize coverage amounts and policy terms 2. **Whole Life Insurance** - Design lifetime coverage with guaranteed death benefits - Develop cash value accumulation and savings features - Balance protection and investment components 3. **Endowment Insurance** - Design coverage plus maturity benefit products - Balance protection and savings objectives - Optimize policy terms and benefit structures 4. **Unit-Linked / Investment-Linked Insurance (ULIPs / VULs)** - Design products combining protection with investment in funds - Develop flexible premium allocation and top-up options - Balance risk and return objectives 5. **Riders & Add-Ons** - Design critical illness, accidental death, disability, waiver of premium riders - Develop customization options for different life stages - Optimize rider pricing and benefit structures ## Tool Usage Guidelines: - Use FileTools to access product specifications, competitor products, and design requirements - Use ExaTools for product research and industry best practices - Use calculate_life_insurance_premium to optimize pricing and product features - Use calculate_cash_value to design savings and investment components - Always consider customer needs, regulatory requirements, and profitability objectives Your goal is to design **innovative and competitive life insurance products** that meet customer needs while ensuring profitability and regulatory compliance.
Knowledge Base (.md)
Business reference guide
Drag & Drop or Click
.md, .txt, .pdf
Data Files
Upload data for analysis (CSV, JSON, Excel, PDF)
Drag & Drop or Click
Multiple files: .json, .csv, .xlsx, .xls, .pdf, .docx, .pptx, .txt
Tools 4
file_tools
FileTools from agno framework
file_tools
FileTools from agno framework
calculate_life_insurance_premium
Model for storing functions that can be called by an agent.
calculate_life_insurance_premium
Model for storing functions that can be called by an agent.
@tool( name="calculate_life_insurance_premium", description="Calculate life insurance premium using actuarial principles", show_result=True, ) def calculate_life_insurance_premium( age: int, gender: str, coverage_amount: float, policy_term: int, policy_type: str, smoker_status: bool, occupation_class: str, ) -> Dict[str, Any]: """ Calculate life insurance premium using actuarial principles. Args: age: Age of the insured gender: Gender of the insured(male/female) coverage_amount: Death benefit amount policy_term: Policy term in years policy_type: Type of policy(term/whole/endowment/ulip) smoker_status: Whether the insured is a smoker occupation_class: Occupational risk class (A/B/C/D) Returns: Dictionary containing premium calculations and assumptions """ base_mortality = { "male": {20: 0.0005, 30: 0.0008, 40: 0.0012, 50: 0.0020, 60: 0.0040}, "female": {20: 0.0003, 30: 0.0005, 40: 0.0008, 50: 0.0015, 60: 0.0030}, } age_group = min((age // 10) * 10, 60) mortality_rate = base_mortality.get(gender.lower(), base_mortality["male"])[age_group] risk_multiplier = 1.0 if smoker_status: risk_multiplier *= 2.5 occupation_multipliers = {"A": 1.0, "B": 1.2, "C": 1.5, "D": 2.0} risk_multiplier *= occupation_multipliers.get(occupation_class.upper(), 1.0) net_premium = coverage_amount * mortality_rate * risk_multiplier policy_factors = {"term": 1.0, "whole": 1.8, "endowment": 2.2, "ulip": 1.5} net_premium *= policy_factors.get(policy_type.lower(), 1.0) expense_loading = net_premium * 0.25 profit_margin = net_premium * 0.15 gross_premium = net_premium + expense_loading + profit_margin return { "net_premium": round(net_premium, 2), "expense_loading": round(expense_loading, 2), "profit_margin": round(profit_margin, 2), "gross_premium": round(gross_premium, 2), "annual_premium": round(gross_premium, 2), "monthly_premium": round(gross_premium / 12, 2), "mortality_rate": mortality_rate, "risk_multiplier": risk_multiplier, "assumptions": {"age": age, "gender": gender, "coverage_amount": coverage_amount, "policy_term": policy_term, "policy_type": policy_type, "smoker_status": smoker_status, "occupation_class": occupation_class}, }
calculate_cash_value
Model for storing functions that can be called by an agent.
calculate_cash_value
Model for storing functions that can be called by an agent.
@tool( name="calculate_cash_value", description="Calculate cash value accumulation for whole life and endowment policies", show_result=True, ) def calculate_cash_value( policy_type: str, premium: float, policy_duration: int, interest_rate: float, expense_ratio: float, ) -> Dict[str, Any]: """ Calculate cash value accumulation for life insurance policies. Args: policy_type: Type of policy(whole/endowment) premium: Annual premium amount policy_duration: Years since policy inception interest_rate: Annual interest rate(decimal) expense_ratio: Annual expense ratio(decimal) Returns: Dictionary containing cash value calculations """ if policy_type.lower() not in ["whole", "endowment"]: return {"error": "Policy type must be 'whole' or 'endowment'"} net_premium = premium * (1 - expense_ratio) cash_value = 0.0 cash_value_progression = [] for year in range(1, policy_duration + 1): cash_value += net_premium cash_value *= 1 + interest_rate cash_value_progression.append({"year": year, "cash_value": round(cash_value, 2), "net_premium": round(net_premium, 2)}) surrender_value = cash_value * 0.85 return { "policy_type": policy_type, "annual_premium": premium, "net_premium": round(net_premium, 2), "interest_rate": interest_rate, "expense_ratio": expense_ratio, "current_cash_value": round(cash_value, 2), "surrender_value": round(surrender_value, 2), "cash_value_progression": cash_value_progression, "total_premiums_paid": round(premium * policy_duration, 2), }
exa
ExaTools is a toolkit for interfacing with the Exa web search engine, providing
functionalities to perform categorized searches and retrieve structured results.
Args:
enable_search (bool): Enable search functionality. Default is True.
enable_get_contents (bool): Enable get contents functionality. Default is True.
enable_find_similar (bool): Enable find similar functionality. Default is True.
enable_answer (bool): Enable answer generation. Default is True.
enable_research (bool): Enable research tool functionality. Default is False.
all (bool): Enable all tools. Overrides individual flags when True. Default is False.
text (bool): Retrieve text content from results. Default is True.
text_length_limit (int): Max length of text content per result. Default is 1000.
api_key (Optional[str]): Exa API key. Retrieved from `EXA_API_KEY` env variable if not provided.
num_results (Optional[int]): Default number of search results. Overrides individual searches if set.
start_crawl_date (Optional[str]): Include results crawled on/after this date (`YYYY-MM-DD`).
end_crawl_date (Optional[str]): Include results crawled on/before this date (`YYYY-MM-DD`).
start_published_date (Optional[str]): Include results published on/after this date (`YYYY-MM-DD`).
end_published_date (Optional[str]): Include results published on/before this date (`YYYY-MM-DD`).
type (Optional[str]): Specify content type (e.g., article, blog, video).
category (Optional[str]): Filter results by category. Options are "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report".
include_domains (Optional[List[str]]): Restrict results to these domains.
exclude_domains (Optional[List[str]]): Exclude results from these domains.
show_results (bool): Log search results for debugging. Default is False.
model (Optional[str]): The search model to use. Options are 'exa' or 'exa-pro'.
timeout (int): Maximum time in seconds to wait for API responses. Default is 30 seconds.
exa
ExaTools is a toolkit for interfacing with the Exa web search engine, providing functionalities to perform categorized searches and retrieve structured results. Args: enable_search (bool): Enable search functionality. Default is True. enable_get_contents (bool): Enable get contents functionality. Default is True. enable_find_similar (bool): Enable find similar functionality. Default is True. enable_answer (bool): Enable answer generation. Default is True. enable_research (bool): Enable research tool functionality. Default is False. all (bool): Enable all tools. Overrides individual flags when True. Default is False. text (bool): Retrieve text content from results. Default is True. text_length_limit (int): Max length of text content per result. Default is 1000. api_key (Optional[str]): Exa API key. Retrieved from `EXA_API_KEY` env variable if not provided. num_results (Optional[int]): Default number of search results. Overrides individual searches if set. start_crawl_date (Optional[str]): Include results crawled on/after this date (`YYYY-MM-DD`). end_crawl_date (Optional[str]): Include results crawled on/before this date (`YYYY-MM-DD`). start_published_date (Optional[str]): Include results published on/after this date (`YYYY-MM-DD`). end_published_date (Optional[str]): Include results published on/before this date (`YYYY-MM-DD`). type (Optional[str]): Specify content type (e.g., article, blog, video). category (Optional[str]): Filter results by category. Options are "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report". include_domains (Optional[List[str]]): Restrict results to these domains. exclude_domains (Optional[List[str]]): Exclude results from these domains. show_results (bool): Log search results for debugging. Default is False. model (Optional[str]): The search model to use. Options are 'exa' or 'exa-pro'. timeout (int): Maximum time in seconds to wait for API responses. Default is 30 seconds.
Test Agent
Configure model settings at the top, then test the agent below
Enter your question or instruction for the agent