Sales Intelligence & Customer Prioritization Workflow
Daily automated sales intelligence workflow for customer prioritization and opportunity identification
Workflow Information
ID: sales_intelligence_workflow
Namespace: default
Version: 1.0
Created: 2025-07-01
Updated: 2025-07-01
Tasks: 16
Quick Actions
Inputs
| Name | Type | Required | Default |
|---|---|---|---|
officer_id |
string | Optional |
OFF_001
|
analysis_date |
string | Optional |
2025-06-25
|
Outputs
| Name | Type | Source |
|---|---|---|
daily_report |
object | Daily insights email delivery confirmation |
dashboard_data |
object | Performance dashboard data |
portfolio_analysis |
object | Complete portfolio analysis results |
sales_intelligence |
object | AI-generated sales insights and recommendations |
customer_priorities |
object | Customer priority scores and rankings |
Tasks
get_sales_officer_portfolio
scriptRetrieve sales officer's customer portfolio and active deals
get_customer_purchase_history
scriptAnalyze customer purchase patterns and history
get_customer_engagement_metrics
scriptRetrieve customer engagement and interaction metrics
get_market_benchmarks
scriptRetrieve industry benchmarks and market data
get_opportunity_indicators
scriptIdentify buying signals and expansion opportunities
calculate_customer_priority_score
scriptAI-powered customer prioritization scoring
identify_upsell_opportunities
scriptAI identification of upselling and cross-selling opportunities
detect_churn_risk
scriptAI-powered churn risk detection and analysis
generate_sales_insights
scriptAI-generated actionable sales insights and recommendations
check_high_priority_customers
scriptDetermine if high priority customers exist for specialized handling
create_customer_priority_list
scriptGenerate prioritized customer list for high priority customers
generate_sales_recommendations
scriptCreate specific actionable recommendations for high priority customers
update_opportunity_scores
scriptUpdate opportunity scores in CRM/Dynamics systems
create_performance_dashboard
scriptGenerate comprehensive sales performance dashboard
log_no_high_priority
scriptLog when no high priority customers are identified
send_daily_insights_email
scriptSend daily intelligence report to sales officer
Triggers
POST /webhook/officer-login
YAML Source
id: sales_intelligence_workflow
name: Sales Intelligence & Customer Prioritization Workflow
tasks:
- id: get_sales_officer_portfolio
name: Get Sales Officer Portfolio
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\n\n\
print(\"\U0001F465 Retrieving sales officer portfolio...\")\n\nofficer_id = \"\
OFF_001\"\n\n# Mock sales officer portfolio\nportfolio_data = {\n \"officer_id\"\
: officer_id,\n \"officer_name\": \"Sarah Johnson\",\n \"portfolio_summary\"\
: {\n \"total_customers\": 45,\n \"active_deals\": 15,\n \
\ \"pipeline_value\": 850000.00,\n \"deals_by_stage\": {\n \"\
qualified\": 5,\n \"proposal\": 4,\n \"negotiation\": 3,\n\
\ \"closing\": 3\n }\n },\n \"customer_list\": [\n \
\ {\n \"customer_id\": \"CUST_001\",\n \"customer_name\"\
: \"TechCorp Industries\",\n \"industry\": \"Technology\",\n \
\ \"company_size\": \"500-1000\",\n \"current_deals\": [\n \
\ {\n \"deal_id\": \"DEAL_2025_001234\",\n \
\ \"deal_value\": 125000.00,\n \"stage\": \"\
negotiation\",\n \"probability\": 0.75\n }\n\
\ ],\n \"last_contact_date\": \"2025-06-20T14:30:00Z\",\n\
\ \"relationship_strength\": \"strong\"\n },\n {\n \
\ \"customer_id\": \"CUST_002\",\n \"customer_name\": \"InnovateAI\
\ Corp\",\n \"industry\": \"Artificial Intelligence\",\n \
\ \"company_size\": \"200-500\",\n \"current_deals\": [\n \
\ {\n \"deal_id\": \"DEAL_2025_001235\",\n \
\ \"deal_value\": 95000.00,\n \"stage\": \"proposal\"\
,\n \"probability\": 0.60\n }\n ],\n\
\ \"last_contact_date\": \"2025-06-22T10:15:00Z\",\n \"\
relationship_strength\": \"medium\"\n },\n {\n \"customer_id\"\
: \"CUST_003\",\n \"customer_name\": \"DataSystems Corp\",\n \
\ \"industry\": \"Data Analytics\",\n \"company_size\": \"100-200\"\
,\n \"current_deals\": [],\n \"last_contact_date\": \"2025-06-10T16:45:00Z\"\
,\n \"relationship_strength\": \"weak\"\n }\n ]\n}\n\nprint(f\"\
\u2705 Portfolio retrieved for {portfolio_data['officer_name']}\")\nprint(f\"\
\ Total customers: {portfolio_data['portfolio_summary']['total_customers']}\"\
)\nprint(f\" Active deals: {portfolio_data['portfolio_summary']['active_deals']}\"\
)\nprint(f\" Pipeline value: ${portfolio_data['portfolio_summary']['pipeline_value']:,.2f}\"\
)\n\nprint(f\"__OUTPUTS__ {json.dumps(portfolio_data)}\")\n"
outputs:
- name: portfolio_data
value: Sales officer portfolio retrieved
packages:
- json==2.0.9
- datetime
description: Retrieve sales officer's customer portfolio and active deals
- id: get_customer_purchase_history
name: Get Customer Purchase History
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F4CA Analyzing customer\
\ purchase history...\")\n\n# Mock customer purchase history\npurchase_histories\
\ = [\n {\n \"customer_id\": \"CUST_001\",\n \"customer_name\"\
: \"TechCorp Industries\",\n \"purchase_summary\": {\n \"total_revenue_12m\"\
: 285000.00,\n \"order_frequency\": \"quarterly\",\n \"\
average_order_value\": 71250.00,\n \"orders_count\": 4,\n \
\ \"growth_trend\": \"increasing\",\n \"seasonal_pattern\": \"q4_peak\"\
\n },\n \"product_categories\": [\n {\n \
\ \"category\": \"enterprise_software\",\n \"spend\": 200000.00,\n\
\ \"percentage\": 0.70\n },\n {\n \
\ \"category\": \"professional_services\",\n \"spend\"\
: 85000.00,\n \"percentage\": 0.30\n }\n ],\n\
\ \"last_purchase\": \"2025-05-15T00:00:00Z\",\n \"payment_behavior\"\
: \"on_time\",\n \"contract_type\": \"annual\"\n },\n {\n \
\ \"customer_id\": \"CUST_002\",\n \"customer_name\": \"InnovateAI Corp\"\
,\n \"purchase_summary\": {\n \"total_revenue_12m\": 165000.00,\n\
\ \"order_frequency\": \"bi_annual\",\n \"average_order_value\"\
: 82500.00,\n \"orders_count\": 2,\n \"growth_trend\": \"\
stable\",\n \"seasonal_pattern\": \"h1_peak\"\n },\n \
\ \"product_categories\": [\n {\n \"category\": \"ai_analytics\"\
,\n \"spend\": 120000.00,\n \"percentage\": 0.73\n\
\ },\n {\n \"category\": \"data_integration\"\
,\n \"spend\": 45000.00,\n \"percentage\": 0.27\n\
\ }\n ],\n \"last_purchase\": \"2025-01-20T00:00:00Z\"\
,\n \"payment_behavior\": \"on_time\",\n \"contract_type\": \"multi_year\"\
\n },\n {\n \"customer_id\": \"CUST_003\",\n \"customer_name\"\
: \"DataSystems Corp\",\n \"purchase_summary\": {\n \"total_revenue_12m\"\
: 45000.00,\n \"order_frequency\": \"annual\",\n \"average_order_value\"\
: 45000.00,\n \"orders_count\": 1,\n \"growth_trend\": \"\
declining\",\n \"seasonal_pattern\": \"q1_only\"\n },\n \
\ \"last_purchase\": \"2025-01-10T00:00:00Z\",\n \"payment_behavior\"\
: \"slow_pay\",\n \"contract_type\": \"project_based\"\n }\n]\n\ntotal_revenue\
\ = sum(h['purchase_summary']['total_revenue_12m'] for h in purchase_histories)\n\
print(f\"\u2705 Analyzed purchase history for {len(purchase_histories)} customers\"\
)\nprint(f\" Total portfolio revenue (12m): ${total_revenue:,.2f}\")\n\nfor\
\ history in purchase_histories:\n print(f\" \u2022 {history['customer_name']}:\
\ ${history['purchase_summary']['total_revenue_12m']:,.0f} ({history['purchase_summary']['growth_trend']})\"\
)\n\nprint(f\"__OUTPUTS__ {json.dumps(purchase_histories)}\")\n"
outputs:
- name: purchase_histories
value: Customer purchase histories analyzed
packages:
- json==2.0.9
depends_on:
- get_sales_officer_portfolio
description: Analyze customer purchase patterns and history
- id: get_customer_engagement_metrics
name: Get Customer Engagement Metrics
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F4C8 Retrieving customer\
\ engagement metrics...\")\n\n# Mock engagement metrics\nengagement_metrics =\
\ [\n {\n \"customer_id\": \"CUST_001\",\n \"customer_name\"\
: \"TechCorp Industries\",\n \"engagement_score\": 0.87,\n \"email_metrics\"\
: {\n \"open_rate\": 0.85,\n \"click_rate\": 0.32,\n \
\ \"response_rate\": 0.78\n },\n \"call_metrics\": {\n \
\ \"answer_rate\": 0.90,\n \"callback_rate\": 0.85,\n \
\ \"avg_call_duration\": 25.5\n },\n \"meeting_metrics\"\
: {\n \"acceptance_rate\": 0.92,\n \"attendance_rate\":\
\ 0.95,\n \"reschedule_rate\": 0.08\n },\n \"digital_engagement\"\
: {\n \"website_visits_month\": 15,\n \"portal_logins_month\"\
: 22,\n \"support_tickets_month\": 2,\n \"content_downloads\"\
: 8\n },\n \"engagement_trend\": \"increasing\",\n \"last_engagement\"\
: \"2025-06-24T16:30:00Z\"\n },\n {\n \"customer_id\": \"CUST_002\"\
,\n \"customer_name\": \"InnovateAI Corp\",\n \"engagement_score\"\
: 0.72,\n \"email_metrics\": {\n \"open_rate\": 0.68,\n \
\ \"click_rate\": 0.18,\n \"response_rate\": 0.55\n },\n\
\ \"call_metrics\": {\n \"answer_rate\": 0.75,\n \
\ \"callback_rate\": 0.60,\n \"avg_call_duration\": 18.2\n },\n\
\ \"meeting_metrics\": {\n \"acceptance_rate\": 0.80,\n \
\ \"attendance_rate\": 0.88,\n \"reschedule_rate\": 0.15\n \
\ },\n \"digital_engagement\": {\n \"website_visits_month\"\
: 8,\n \"portal_logins_month\": 12,\n \"support_tickets_month\"\
: 1,\n \"content_downloads\": 3\n },\n \"engagement_trend\"\
: \"stable\"\n },\n {\n \"customer_id\": \"CUST_003\",\n \"\
customer_name\": \"DataSystems Corp\",\n \"engagement_score\": 0.34,\n\
\ \"email_metrics\": {\n \"open_rate\": 0.25,\n \"\
click_rate\": 0.05,\n \"response_rate\": 0.15\n },\n \
\ \"call_metrics\": {\n \"answer_rate\": 0.40,\n \"callback_rate\"\
: 0.20,\n \"avg_call_duration\": 8.5\n },\n \"meeting_metrics\"\
: {\n \"acceptance_rate\": 0.30,\n \"attendance_rate\":\
\ 0.50,\n \"reschedule_rate\": 0.40\n },\n \"digital_engagement\"\
: {\n \"website_visits_month\": 1,\n \"portal_logins_month\"\
: 2,\n \"support_tickets_month\": 8,\n \"content_downloads\"\
: 0\n },\n \"engagement_trend\": \"declining\"\n }\n]\n\navg_engagement\
\ = sum(m['engagement_score'] for m in engagement_metrics) / len(engagement_metrics)\n\
print(f\"\u2705 Retrieved engagement metrics for {len(engagement_metrics)} customers\"\
)\nprint(f\" Average engagement score: {avg_engagement:.2f}\")\n\nfor metric\
\ in engagement_metrics:\n print(f\" \u2022 {metric['customer_name']}: {metric['engagement_score']:.2f}\
\ ({metric['engagement_trend']})\")\n\nprint(f\"__OUTPUTS__ {json.dumps(engagement_metrics)}\"\
)\n"
outputs:
- name: engagement_metrics
value: Customer engagement metrics retrieved
packages:
- json==2.0.9
depends_on:
- get_customer_purchase_history
description: Retrieve customer engagement and interaction metrics
- id: get_market_benchmarks
name: Get Market Benchmarks
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F4CA Retrieving market\
\ benchmarks...\")\n\n# Mock market benchmarks\nmarket_benchmarks = {\n \"\
industry_averages\": {\n \"technology\": {\n \"avg_deal_size\"\
: 78500.00,\n \"avg_sales_cycle\": 52,\n \"conversion_rate\"\
: 0.62,\n \"customer_lifetime_value\": 285000.00,\n \"churn_rate\"\
: 0.08,\n \"upsell_rate\": 0.35\n },\n \"artificial_intelligence\"\
: {\n \"avg_deal_size\": 95000.00,\n \"avg_sales_cycle\"\
: 48,\n \"conversion_rate\": 0.58,\n \"customer_lifetime_value\"\
: 325000.00,\n \"churn_rate\": 0.12,\n \"upsell_rate\":\
\ 0.42\n },\n \"data_analytics\": {\n \"avg_deal_size\"\
: 65000.00,\n \"avg_sales_cycle\": 38,\n \"conversion_rate\"\
: 0.55,\n \"customer_lifetime_value\": 195000.00,\n \"churn_rate\"\
: 0.15,\n \"upsell_rate\": 0.28\n }\n },\n \"market_conditions\"\
: {\n \"overall_growth_rate\": 0.18,\n \"competitive_intensity\"\
: 0.75,\n \"market_maturity\": \"growth_stage\",\n \"pricing_pressure\"\
: \"moderate\",\n \"innovation_rate\": \"high\"\n },\n \"regional_factors\"\
: {\n \"north_america\": {\n \"market_size\": \"2.8B\",\n \
\ \"growth_rate\": 0.22,\n \"competitive_density\": \"high\"\
\n }\n },\n \"seasonal_trends\": {\n \"q1\": {\"activity_multiplier\"\
: 0.85, \"close_rate\": 0.58},\n \"q2\": {\"activity_multiplier\": 1.05,\
\ \"close_rate\": 0.65},\n \"q3\": {\"activity_multiplier\": 0.95, \"close_rate\"\
: 0.62},\n \"q4\": {\"activity_multiplier\": 1.15, \"close_rate\": 0.72}\n\
\ }\n}\n\nprint(f\"\u2705 Market benchmarks retrieved\")\nprint(f\" Overall\
\ market growth: {market_benchmarks['market_conditions']['overall_growth_rate']*100:.1f}%\"\
)\nprint(f\" Competitive intensity: {market_benchmarks['market_conditions']['competitive_intensity']*100:.0f}%\"\
)\n\nfor industry, data in market_benchmarks['industry_averages'].items():\n \
\ print(f\" \u2022 {industry}: ${data['avg_deal_size']:,.0f} avg deal, {data['conversion_rate']*100:.0f}%\
\ conversion\")\n\nprint(f\"__OUTPUTS__ {json.dumps(market_benchmarks)}\")\n"
outputs:
- name: market_benchmarks
value: Market benchmarks retrieved
packages:
- json==2.0.9
depends_on:
- get_customer_engagement_metrics
description: Retrieve industry benchmarks and market data
- id: get_opportunity_indicators
name: Get Opportunity Indicators
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F50D Identifying opportunity\
\ indicators...\")\n\n# Mock opportunity indicators\nopportunity_indicators =\
\ [\n {\n \"customer_id\": \"CUST_001\",\n \"customer_name\"\
: \"TechCorp Industries\",\n \"buying_signals\": [\n {\n \
\ \"signal\": \"increased_website_activity\",\n \"\
strength\": \"strong\",\n \"detected_date\": \"2025-06-20T00:00:00Z\"\
,\n \"description\": \"15 website visits this month, 5x normal\"\
\n },\n {\n \"signal\": \"pricing_page_visits\"\
,\n \"strength\": \"medium\",\n \"detected_date\"\
: \"2025-06-22T00:00:00Z\",\n \"description\": \"Multiple pricing\
\ page visits\"\n },\n {\n \"signal\": \"\
competitor_research\",\n \"strength\": \"high\",\n \
\ \"detected_date\": \"2025-06-21T00:00:00Z\",\n \"description\"\
: \"Downloaded competitor comparison guide\"\n }\n ],\n \
\ \"expansion_opportunities\": [\n {\n \"opportunity_type\"\
: \"module_expansion\",\n \"potential_value\": 45000.00,\n \
\ \"probability\": 0.75,\n \"timeline\": \"Q3_2025\"\
,\n \"description\": \"Analytics module for existing CRM\"\n \
\ },\n {\n \"opportunity_type\": \"user_expansion\"\
,\n \"potential_value\": 35000.00,\n \"probability\"\
: 0.60,\n \"timeline\": \"Q4_2025\",\n \"description\"\
: \"Additional 100 user licenses\"\n }\n ],\n \"pain_points\"\
: [\n \"manual_reporting_processes\",\n \"data_integration_challenges\"\
,\n \"scalability_concerns\"\n ]\n },\n {\n \"\
customer_id\": \"CUST_002\",\n \"customer_name\": \"InnovateAI Corp\",\n\
\ \"buying_signals\": [\n {\n \"signal\": \"\
demo_request\",\n \"strength\": \"very_strong\",\n \
\ \"detected_date\": \"2025-06-23T00:00:00Z\",\n \"description\"\
: \"Requested advanced features demo\"\n },\n {\n \
\ \"signal\": \"technical_questions\",\n \"strength\"\
: \"strong\",\n \"detected_date\": \"2025-06-24T00:00:00Z\",\n\
\ \"description\": \"Asked detailed integration questions\"\n \
\ }\n ],\n \"expansion_opportunities\": [\n \
\ {\n \"opportunity_type\": \"premium_upgrade\",\n \
\ \"potential_value\": 65000.00,\n \"probability\": 0.85,\n\
\ \"timeline\": \"Q2_2025\",\n \"description\":\
\ \"Upgrade to enterprise AI features\"\n }\n ],\n \"\
pain_points\": [\n \"ai_model_performance\",\n \"real_time_processing\"\
,\n \"custom_algorithm_needs\"\n ]\n },\n {\n \"\
customer_id\": \"CUST_003\",\n \"customer_name\": \"DataSystems Corp\"\
,\n \"buying_signals\": [],\n \"expansion_opportunities\": [],\n\
\ \"pain_points\": [\n \"budget_constraints\",\n \
\ \"technical_complexity\",\n \"change_resistance\"\n ],\n \
\ \"churn_indicators\": [\n {\n \"indicator\"\
: \"support_ticket_increase\",\n \"severity\": \"high\",\n \
\ \"description\": \"8 support tickets this month vs 1 average\"\n\
\ },\n {\n \"indicator\": \"low_engagement\"\
,\n \"severity\": \"medium\",\n \"description\"\
: \"Declining portal usage and response rates\"\n }\n ]\n \
\ }\n]\n\ntotal_opportunities = 0\ntotal_value = 0\n\nfor customer in opportunity_indicators:\n\
\ opportunities = len(customer.get('expansion_opportunities', []))\n total_opportunities\
\ += opportunities\n for opp in customer.get('expansion_opportunities', []):\n\
\ total_value += opp['potential_value']\n\nprint(f\"\u2705 Analyzed opportunity\
\ indicators\")\nprint(f\" Total expansion opportunities: {total_opportunities}\"\
)\nprint(f\" Total potential value: ${total_value:,.2f}\")\n\nfor customer in\
\ opportunity_indicators:\n signals_count = len(customer.get('buying_signals',\
\ []))\n opps_count = len(customer.get('expansion_opportunities', []))\n \
\ print(f\" \u2022 {customer['customer_name']}: {signals_count} signals, {opps_count}\
\ opportunities\")\n\nprint(f\"__OUTPUTS__ {json.dumps(opportunity_indicators)}\"\
)\n"
outputs:
- name: opportunity_indicators
value: Opportunity indicators identified
packages:
- json==2.0.9
depends_on:
- get_market_benchmarks
description: Identify buying signals and expansion opportunities
- id: calculate_customer_priority_score
name: Calculate Customer Priority Score
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F916 Calculating customer\
\ priority scores...\")\n\n# Mock AI priority scoring\npriority_scores = [\n \
\ {\n \"customer_id\": \"CUST_001\",\n \"customer_name\": \"TechCorp\
\ Industries\",\n \"priority_score\": 92.5,\n \"priority_tier\"\
: \"HIGH\",\n \"scoring_breakdown\": {\n \"revenue_potential\"\
: 25.0,\n \"engagement_level\": 22.0,\n \"buying_signals\"\
: 20.0,\n \"relationship_strength\": 15.0,\n \"expansion_opportunity\"\
: 10.5\n },\n \"confidence_level\": 0.89,\n \"ranking_factors\"\
: [\n \"strong_buying_signals\",\n \"high_engagement_score\"\
,\n \"multiple_expansion_opportunities\",\n \"large_revenue_potential\"\
\n ],\n \"recommended_actions\": [\n \"immediate_outreach\"\
,\n \"executive_engagement\",\n \"expansion_proposal_preparation\"\
\n ]\n },\n {\n \"customer_id\": \"CUST_002\",\n \"\
customer_name\": \"InnovateAI Corp\",\n \"priority_score\": 87.3,\n \
\ \"priority_tier\": \"HIGH\",\n \"scoring_breakdown\": {\n \
\ \"revenue_potential\": 20.0,\n \"engagement_level\": 18.0,\n\
\ \"buying_signals\": 24.0,\n \"relationship_strength\"\
: 15.0,\n \"expansion_opportunity\": 10.3\n },\n \"confidence_level\"\
: 0.92,\n \"ranking_factors\": [\n \"very_strong_buying_signals\"\
,\n \"demo_requested\",\n \"high_probability_upgrade\",\n\
\ \"good_payment_history\"\n ],\n \"recommended_actions\"\
: [\n \"schedule_demo_immediately\",\n \"prepare_upgrade_proposal\"\
,\n \"technical_team_involvement\"\n ]\n },\n {\n \
\ \"customer_id\": \"CUST_003\",\n \"customer_name\": \"DataSystems\
\ Corp\",\n \"priority_score\": 25.8,\n \"priority_tier\": \"LOW\"\
,\n \"scoring_breakdown\": {\n \"revenue_potential\": 5.0,\n\
\ \"engagement_level\": 3.4,\n \"buying_signals\": 0.0,\n\
\ \"relationship_strength\": 7.4,\n \"expansion_opportunity\"\
: 0.0,\n \"churn_risk\": -10.0\n },\n \"confidence_level\"\
: 0.78,\n \"ranking_factors\": [\n \"high_churn_risk\",\n \
\ \"low_engagement\",\n \"no_expansion_opportunities\",\n\
\ \"payment_issues\"\n ],\n \"recommended_actions\":\
\ [\n \"retention_strategy\",\n \"relationship_rebuilding\"\
,\n \"value_demonstration\"\n ]\n }\n]\n\nhigh_priority_count\
\ = sum(1 for score in priority_scores if score['priority_tier'] == 'HIGH')\n\
avg_score = sum(score['priority_score'] for score in priority_scores) / len(priority_scores)\n\
\nprint(f\"\u2705 Calculated priority scores for {len(priority_scores)} customers\"\
)\nprint(f\" High priority customers: {high_priority_count}\")\nprint(f\" \
\ Average priority score: {avg_score:.1f}\")\n\nfor score in priority_scores:\n\
\ print(f\" \u2022 {score['customer_name']}: {score['priority_score']:.1f}\
\ ({score['priority_tier']})\")\n\nprint(f\"__OUTPUTS__ {json.dumps(priority_scores)}\"\
)\n"
outputs:
- name: priority_scores
value: Customer priority scores calculated
packages:
- json==2.0.9
depends_on:
- get_opportunity_indicators
description: AI-powered customer prioritization scoring
- id: identify_upsell_opportunities
name: Identify Upsell Opportunities
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F4B0 Identifying upsell\
\ opportunities...\")\n\n# Mock upsell opportunity identification\nupsell_opportunities\
\ = [\n {\n \"customer_id\": \"CUST_001\",\n \"customer_name\"\
: \"TechCorp Industries\",\n \"opportunities\": [\n {\n \
\ \"opportunity_id\": \"UPS_001\",\n \"opportunity_type\"\
: \"module_expansion\",\n \"recommended_product\": \"Advanced Analytics\
\ Module\",\n \"current_product\": \"CRM Enterprise\",\n \
\ \"potential_revenue\": 45000.00,\n \"probability_score\"\
: 0.75,\n \"confidence_level\": 0.88,\n \"timeline\"\
: \"Q3_2025\",\n \"key_drivers\": [\n \"expressed_interest_in_reporting\"\
,\n \"current_manual_processes\",\n \"budget_availability\"\
\n ],\n \"value_proposition\": \"Automate reporting,\
\ save 15 hours/week\",\n \"competitive_risk\": \"low\"\n \
\ },\n {\n \"opportunity_id\": \"UPS_002\",\n\
\ \"opportunity_type\": \"user_expansion\",\n \"\
recommended_product\": \"Additional User Licenses\",\n \"potential_revenue\"\
: 35000.00,\n \"probability_score\": 0.60,\n \"\
timeline\": \"Q4_2025\",\n \"key_drivers\": [\n \
\ \"company_growth\",\n \"new_department_adoption\"\n \
\ ]\n }\n ],\n \"total_potential_revenue\"\
: 80000.00,\n \"weighted_revenue\": 52500.00\n },\n {\n \"\
customer_id\": \"CUST_002\",\n \"customer_name\": \"InnovateAI Corp\",\n\
\ \"opportunities\": [\n {\n \"opportunity_id\"\
: \"UPS_003\",\n \"opportunity_type\": \"premium_upgrade\",\n \
\ \"recommended_product\": \"AI Enterprise Suite\",\n \
\ \"current_product\": \"AI Standard\",\n \"potential_revenue\"\
: 65000.00,\n \"probability_score\": 0.85,\n \"\
confidence_level\": 0.91,\n \"timeline\": \"Q2_2025\",\n \
\ \"key_drivers\": [\n \"demo_requested\",\n \
\ \"technical_requirements_match\",\n \"budget_approved\"\
\n ],\n \"value_proposition\": \"10x faster processing,\
\ custom algorithms\",\n \"competitive_risk\": \"medium\"\n \
\ }\n ],\n \"total_potential_revenue\": 65000.00,\n \
\ \"weighted_revenue\": 55250.00\n }\n]\n\ntotal_opportunities = sum(len(customer['opportunities'])\
\ for customer in upsell_opportunities)\ntotal_potential = sum(customer['total_potential_revenue']\
\ for customer in upsell_opportunities)\ntotal_weighted = sum(customer['weighted_revenue']\
\ for customer in upsell_opportunities)\n\nprint(f\"\u2705 Identified {total_opportunities}\
\ upsell opportunities\")\nprint(f\" Total potential revenue: ${total_potential:,.2f}\"\
)\nprint(f\" Weighted potential revenue: ${total_weighted:,.2f}\")\n\nfor customer\
\ in upsell_opportunities:\n opps_count = len(customer['opportunities'])\n\
\ print(f\" \u2022 {customer['customer_name']}: {opps_count} opportunities,\
\ ${customer['weighted_revenue']:,.0f} weighted value\")\n\nprint(f\"__OUTPUTS__\
\ {json.dumps(upsell_opportunities)}\")\n"
outputs:
- name: upsell_opportunities
value: Upsell opportunities identified
packages:
- json==2.0.9
depends_on:
- calculate_customer_priority_score
description: AI identification of upselling and cross-selling opportunities
- id: detect_churn_risk
name: Detect Churn Risk
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\u26A0\uFE0F Detecting churn\
\ risks...\")\n\n# Mock churn risk detection\nchurn_risks = [\n {\n \
\ \"customer_id\": \"CUST_003\",\n \"customer_name\": \"DataSystems Corp\"\
,\n \"churn_risk_score\": 0.78,\n \"risk_level\": \"HIGH\",\n \
\ \"confidence_level\": 0.85,\n \"risk_factors\": [\n {\n\
\ \"factor\": \"declining_engagement\",\n \"weight\"\
: 0.25,\n \"description\": \"Engagement score dropped from 0.65\
\ to 0.34 in 3 months\"\n },\n {\n \"factor\"\
: \"increased_support_tickets\",\n \"weight\": 0.20,\n \
\ \"description\": \"8 support tickets this month vs 1 average\"\n \
\ },\n {\n \"factor\": \"payment_delays\",\n\
\ \"weight\": 0.15,\n \"description\": \"Last 2\
\ payments were 30+ days late\"\n },\n {\n \
\ \"factor\": \"no_expansion_activity\",\n \"weight\": 0.10,\n\
\ \"description\": \"No additional purchases in 18 months\"\n \
\ },\n {\n \"factor\": \"competitor_evaluation\"\
,\n \"weight\": 0.08,\n \"description\": \"Detected\
\ competitor research activity\"\n }\n ],\n \"revenue_at_risk\"\
: 45000.00,\n \"contract_renewal_date\": \"2025-12-31\",\n \"days_to_renewal\"\
: 189,\n \"retention_probability\": 0.22,\n \"recommended_actions\"\
: [\n {\n \"action\": \"immediate_executive_outreach\"\
,\n \"priority\": \"urgent\",\n \"timeline\": \"\
within_48_hours\"\n },\n {\n \"action\":\
\ \"comprehensive_health_check\",\n \"priority\": \"high\",\n \
\ \"timeline\": \"within_1_week\"\n },\n {\n\
\ \"action\": \"value_demonstration_session\",\n \
\ \"priority\": \"high\",\n \"timeline\": \"within_2_weeks\"\n\
\ },\n {\n \"action\": \"contract_renegotiation\"\
,\n \"priority\": \"medium\",\n \"timeline\": \"\
within_1_month\"\n }\n ]\n },\n {\n \"customer_id\"\
: \"CUST_002\",\n \"customer_name\": \"InnovateAI Corp\",\n \"churn_risk_score\"\
: 0.15,\n \"risk_level\": \"LOW\",\n \"confidence_level\": 0.72,\n\
\ \"risk_factors\": [\n {\n \"factor\": \"contract_complexity_concerns\"\
,\n \"weight\": 0.10,\n \"description\": \"Expressed\
\ concerns about contract terms\"\n }\n ],\n \"revenue_at_risk\"\
: 165000.00,\n \"retention_probability\": 0.85,\n \"recommended_actions\"\
: [\n {\n \"action\": \"proactive_check_in\",\n \
\ \"priority\": \"low\",\n \"timeline\": \"within_2_weeks\"\
\n }\n ]\n }\n]\n\nhigh_risk_count = sum(1 for risk in churn_risks\
\ if risk['risk_level'] == 'HIGH')\ntotal_revenue_at_risk = sum(risk['revenue_at_risk']\
\ for risk in churn_risks)\n\nprint(f\"\u2705 Analyzed churn risk for {len(churn_risks)}\
\ customers\")\nprint(f\" High risk customers: {high_risk_count}\")\nprint(f\"\
\ Total revenue at risk: ${total_revenue_at_risk:,.2f}\")\n\nfor risk in churn_risks:\n\
\ print(f\" \u2022 {risk['customer_name']}: {risk['risk_level']} risk ({risk['churn_risk_score']:.2f})\"\
)\n\nprint(f\"__OUTPUTS__ {json.dumps(churn_risks)}\")\n"
outputs:
- name: churn_risks
value: Churn risks detected and analyzed
packages:
- json==2.0.9
depends_on:
- identify_upsell_opportunities
description: AI-powered churn risk detection and analysis
- id: generate_sales_insights
name: Generate Sales Insights
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F4A1 Generating sales\
\ insights...\")\n\n# Mock sales insights generation\nsales_insights = {\n \
\ \"executive_summary\": {\n \"total_customers_analyzed\": 3,\n \
\ \"high_priority_customers\": 2,\n \"total_pipeline_value\": 850000.00,\n\
\ \"upsell_potential\": 145000.00,\n \"revenue_at_risk\": 210000.00,\n\
\ \"key_opportunities\": 4,\n \"urgent_actions\": 3\n },\n \
\ \"priority_insights\": [\n {\n \"insight_type\": \"opportunity\"\
,\n \"priority\": \"urgent\",\n \"customer\": \"InnovateAI\
\ Corp\",\n \"title\": \"Hot upgrade opportunity - Demo requested\"\
,\n \"description\": \"Customer requested demo for AI Enterprise Suite\
\ upgrade. 85% probability, $65K value. Strike while iron is hot.\",\n \
\ \"action\": \"Schedule demo within 24 hours\",\n \"impact\":\
\ \"high\",\n \"confidence\": 0.91,\n \"revenue_impact\"\
: 55250.00\n },\n {\n \"insight_type\": \"opportunity\"\
,\n \"priority\": \"high\",\n \"customer\": \"TechCorp Industries\"\
,\n \"title\": \"Strong expansion signals detected\",\n \
\ \"description\": \"Customer showing multiple buying signals including increased\
\ website activity and competitor research. Perfect timing for analytics module\
\ expansion.\",\n \"action\": \"Executive outreach for expansion discussion\"\
,\n \"impact\": \"high\",\n \"confidence\": 0.88,\n \
\ \"revenue_impact\": 52500.00\n },\n {\n \"insight_type\"\
: \"risk\",\n \"priority\": \"urgent\",\n \"customer\":\
\ \"DataSystems Corp\",\n \"title\": \"Critical churn risk - Immediate\
\ action required\",\n \"description\": \"Customer showing severe churn\
\ indicators: declining engagement, increased support tickets, payment delays.\
\ Contract renewal in 6 months.\",\n \"action\": \"Emergency retention\
\ strategy activation\",\n \"impact\": \"high\",\n \"confidence\"\
: 0.85,\n \"revenue_impact\": -45000.00\n }\n ],\n \"\
strategic_recommendations\": [\n {\n \"strategy\": \"focus_on_high_value_opportunities\"\
,\n \"description\": \"Prioritize InnovateAI and TechCorp for immediate\
\ attention. Combined potential of $107K.\",\n \"timeline\": \"next_7_days\"\
,\n \"resource_allocation\": \"assign_senior_resources\"\n },\n\
\ {\n \"strategy\": \"implement_retention_program\",\n \
\ \"description\": \"Develop comprehensive retention strategy for DataSystems\
\ Corp before situation worsens.\",\n \"timeline\": \"immediate\",\n\
\ \"resource_allocation\": \"executive_involvement\"\n }\n \
\ ],\n \"performance_indicators\": {\n \"portfolio_health_score\"\
: 0.68,\n \"growth_momentum\": 0.72,\n \"retention_risk\": 0.35,\n\
\ \"opportunity_conversion_potential\": 0.78\n }\n}\n\nprint(f\"\u2705\
\ Generated comprehensive sales insights\")\nprint(f\" Priority insights: {len(sales_insights['priority_insights'])}\"\
)\nprint(f\" Strategic recommendations: {len(sales_insights['strategic_recommendations'])}\"\
)\nprint(f\" Portfolio health score: {sales_insights['performance_indicators']['portfolio_health_score']:.2f}\"\
)\n\nfor insight in sales_insights['priority_insights']:\n print(f\" \u2022\
\ {insight['priority'].upper()}: {insight['title']}\")\n\nprint(f\"__OUTPUTS__\
\ {json.dumps(sales_insights)}\")\n"
outputs:
- name: sales_insights
value: Sales insights generated
packages:
- json==2.0.9
depends_on:
- detect_churn_risk
description: AI-generated actionable sales insights and recommendations
- id: check_high_priority_customers
name: Check High Priority Customers
type: script
script: "#!/usr/bin/env python3\nimport json\n\nprint(\"\U0001F3AF Checking for\
\ high priority customers...\")\n\n# Mock high priority check\nhigh_priority_count\
\ = 2 # From generate_sales_insights\n\ncheck_result = {\n \"has_high_priority_customers\"\
: high_priority_count > 0,\n \"high_priority_count\": high_priority_count,\n\
\ \"requires_priority_processing\": high_priority_count > 0,\n \"threshold_met\"\
: high_priority_count > 0\n}\n\nif check_result[\"has_high_priority_customers\"\
]:\n print(f\"\u2705 {high_priority_count} high priority customers identified\"\
)\n print(\" Priority processing path will be executed\")\nelse:\n print(\"\
\u2139\uFE0F No high priority customers found\")\n print(\" Standard processing\
\ path will be executed\")\n\nprint(f\"__OUTPUTS__ {json.dumps(check_result)}\"\
)\n"
outputs:
- name: priority_check_result
value: High priority customer check completed
packages:
- json==2.0.9
depends_on:
- generate_sales_insights
description: Determine if high priority customers exist for specialized handling
- id: create_customer_priority_list
name: Create Customer Priority List
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\nfrom\
\ datetime import timedelta\n\nprint(\"\U0001F4CB Creating customer priority list...\"\
)\n\n# Mock priority list creation\npriority_list = {\n \"list_id\": \"PRIORITY_LIST_2025_06_25\"\
,\n \"created_date\": datetime.now().isoformat(),\n \"officer_id\": \"OFF_001\"\
,\n \"total_customers\": 2,\n \"priority_customers\": [\n {\n \
\ \"rank\": 1,\n \"customer_id\": \"CUST_001\",\n \
\ \"customer_name\": \"TechCorp Industries\",\n \"priority_score\"\
: 92.5,\n \"priority_tier\": \"HIGH\",\n \"revenue_potential\"\
: 80000.00,\n \"weighted_value\": 52500.00,\n \"urgency\"\
: \"high\",\n \"next_action\": \"Executive outreach for expansion discussion\"\
,\n \"deadline\": (datetime.now() + timedelta(days=3)).isoformat(),\n\
\ \"key_reasons\": [\n \"Strong buying signals detected\"\
,\n \"Multiple expansion opportunities\",\n \"High\
\ engagement score\"\n ]\n },\n {\n \"rank\"\
: 2,\n \"customer_id\": \"CUST_002\",\n \"customer_name\"\
: \"InnovateAI Corp\",\n \"priority_score\": 87.3,\n \"\
priority_tier\": \"HIGH\",\n \"revenue_potential\": 65000.00,\n \
\ \"weighted_value\": 55250.00,\n \"urgency\": \"urgent\",\n\
\ \"next_action\": \"Schedule demo within 24 hours\",\n \
\ \"deadline\": (datetime.now() + timedelta(hours=24)).isoformat(),\n \
\ \"key_reasons\": [\n \"Demo requested\",\n \
\ \"Very strong buying signals\",\n \"High probability upgrade\"\
\n ]\n }\n ],\n \"summary_metrics\": {\n \"total_potential_revenue\"\
: 145000.00,\n \"total_weighted_revenue\": 107750.00,\n \"avg_priority_score\"\
: 89.9,\n \"urgent_actions\": 1,\n \"high_actions\": 1\n }\n\
}\n\nprint(f\"\u2705 Priority list created with {priority_list['total_customers']}\
\ customers\")\nprint(f\" Total potential revenue: ${priority_list['summary_metrics']['total_potential_revenue']:,.2f}\"\
)\nprint(f\" Weighted revenue: ${priority_list['summary_metrics']['total_weighted_revenue']:,.2f}\"\
)\n\nfor customer in priority_list['priority_customers']:\n print(f\" {customer['rank']}.\
\ {customer['customer_name']}: {customer['priority_score']:.1f} ({customer['urgency']})\"\
)\n\nprint(f\"__OUTPUTS__ {json.dumps(priority_list)}\")\n"
outputs:
- name: priority_list
value: Customer priority list created
packages:
- json==2.0.9
condition: ${priority_check_result.has_high_priority_customers} == true
depends_on:
- check_high_priority_customers
description: Generate prioritized customer list for high priority customers
- id: generate_sales_recommendations
name: Generate Sales Recommendations
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\nfrom\
\ datetime import timedelta\n\nprint(\"\U0001F4DD Generating sales recommendations...\"\
)\n\n# Mock sales recommendations\nsales_recommendations = {\n \"recommendation_set_id\"\
: \"REC_2025_06_25_001\",\n \"generated_date\": datetime.now().isoformat(),\n\
\ \"officer_id\": \"OFF_001\",\n \"recommendations\": [\n {\n \
\ \"rec_id\": \"REC_001\",\n \"customer_id\": \"CUST_002\"\
,\n \"customer_name\": \"InnovateAI Corp\",\n \"priority\"\
: \"urgent\",\n \"recommendation_type\": \"immediate_action\",\n \
\ \"title\": \"Schedule AI Enterprise Demo Immediately\",\n \
\ \"description\": \"Customer has requested demo for AI Enterprise Suite upgrade.\
\ This is a hot lead with 85% close probability and $65K value.\",\n \
\ \"specific_actions\": [\n {\n \"action\"\
: \"call_customer_today\",\n \"timeline\": \"within_4_hours\"\
,\n \"owner\": \"OFF_001\",\n \"details\"\
: \"Call to schedule demo for tomorrow or day after\"\n },\n \
\ {\n \"action\": \"prepare_demo_environment\"\
,\n \"timeline\": \"within_24_hours\",\n \
\ \"owner\": \"technical_team\",\n \"details\": \"Set up demo\
\ with customer's specific use cases\"\n },\n {\n\
\ \"action\": \"prepare_upgrade_proposal\",\n \
\ \"timeline\": \"within_48_hours\",\n \"owner\": \"\
OFF_001\",\n \"details\": \"Draft proposal with pricing and\
\ implementation timeline\"\n }\n ],\n \"\
expected_outcome\": \"Demo scheduled and proposal ready\",\n \"success_probability\"\
: 0.85,\n \"revenue_impact\": 55250.00\n },\n {\n \
\ \"rec_id\": \"REC_002\",\n \"customer_id\": \"CUST_001\"\
,\n \"customer_name\": \"TechCorp Industries\",\n \"priority\"\
: \"high\",\n \"recommendation_type\": \"strategic_expansion\",\n \
\ \"title\": \"Executive Expansion Discussion\",\n \"description\"\
: \"Customer showing strong buying signals and ready for analytics module expansion.\
\ Perfect timing for strategic conversation.\",\n \"specific_actions\"\
: [\n {\n \"action\": \"schedule_executive_meeting\"\
,\n \"timeline\": \"within_72_hours\",\n \
\ \"owner\": \"OFF_001\",\n \"details\": \"Schedule meeting\
\ with VP level stakeholder\"\n },\n {\n \
\ \"action\": \"prepare_roi_analysis\",\n \"timeline\"\
: \"before_meeting\",\n \"owner\": \"sales_engineer\",\n \
\ \"details\": \"Quantify time savings and efficiency gains\"\
\n },\n {\n \"action\": \"competitive_differentiation_prep\"\
,\n \"timeline\": \"before_meeting\",\n \
\ \"owner\": \"OFF_001\",\n \"details\": \"Prepare responses\
\ to competitive alternatives\"\n }\n ],\n \
\ \"expected_outcome\": \"Expansion opportunity advanced\",\n \"\
success_probability\": 0.75,\n \"revenue_impact\": 52500.00\n \
\ }\n ],\n \"summary\": {\n \"total_recommendations\": 2,\n \
\ \"urgent_actions\": 1,\n \"high_priority_actions\": 1,\n \"\
total_potential_impact\": 107750.00,\n \"next_review_date\": (datetime.now()\
\ + timedelta(days=7)).isoformat()\n }\n}\n\nprint(f\"\u2705 Generated {sales_recommendations['summary']['total_recommendations']}\
\ recommendations\")\nprint(f\" Urgent actions: {sales_recommendations['summary']['urgent_actions']}\"\
)\nprint(f\" Potential impact: ${sales_recommendations['summary']['total_potential_impact']:,.2f}\"\
)\n\nfor rec in sales_recommendations['recommendations']:\n print(f\" \u2022\
\ {rec['customer_name']}: {rec['title']} ({rec['priority']})\")\n\nprint(f\"__OUTPUTS__\
\ {json.dumps(sales_recommendations)}\")\n"
outputs:
- name: sales_recommendations
value: Sales recommendations generated
packages:
- json==2.0.9
condition: ${priority_check_result.has_high_priority_customers} == true
depends_on:
- create_customer_priority_list
description: Create specific actionable recommendations for high priority customers
- id: update_opportunity_scores
name: Update Opportunity Scores
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\n\n\
print(\"\U0001F504 Updating opportunity scores...\")\n\n# Mock opportunity score\
\ updates\nscore_updates = [\n {\n \"opportunity_id\": \"OPP_2025_001234\"\
,\n \"customer_id\": \"CUST_001\",\n \"customer_name\": \"TechCorp\
\ Industries\",\n \"previous_score\": 75.0,\n \"new_score\": 92.5,\n\
\ \"score_change\": 17.5,\n \"previous_probability\": 0.60,\n \
\ \"new_probability\": 0.75,\n \"ai_confidence\": 0.88,\n \"\
update_timestamp\": datetime.now().isoformat(),\n \"update_reasons\": [\n\
\ \"increased_buying_signals\",\n \"competitive_research_detected\"\
,\n \"engagement_level_improved\"\n ],\n \"next_best_actions\"\
: [\n \"executive_level_engagement\",\n \"expansion_proposal_preparation\"\
\n ]\n },\n {\n \"opportunity_id\": \"OPP_2025_001235\",\n\
\ \"customer_id\": \"CUST_002\",\n \"customer_name\": \"InnovateAI\
\ Corp\",\n \"previous_score\": 70.0,\n \"new_score\": 87.3,\n \
\ \"score_change\": 17.3,\n \"previous_probability\": 0.65,\n \
\ \"new_probability\": 0.85,\n \"ai_confidence\": 0.91,\n \"\
update_timestamp\": datetime.now().isoformat(),\n \"update_reasons\": [\n\
\ \"demo_requested\",\n \"technical_requirements_alignment\"\
,\n \"budget_approval_indicators\"\n ],\n \"next_best_actions\"\
: [\n \"schedule_demo_immediately\",\n \"prepare_technical_proposal\"\
\n ]\n }\n]\n\ntotal_updates = len(score_updates)\navg_improvement =\
\ sum(update['score_change'] for update in score_updates) / total_updates\n\n\
print(f\"\u2705 Updated {total_updates} opportunity scores\")\nprint(f\" Average\
\ score improvement: +{avg_improvement:.1f} points\")\n\nfor update in score_updates:\n\
\ print(f\" \u2022 {update['customer_name']}: {update['previous_score']:.1f}\
\ \u2192 {update['new_score']:.1f} (+{update['score_change']:.1f})\")\n\nprint(f\"\
__OUTPUTS__ {json.dumps(score_updates)}\")\n"
outputs:
- name: opportunity_updates
value: Opportunity scores updated
packages:
- json==2.0.9
condition: ${priority_check_result.has_high_priority_customers} == true
depends_on:
- generate_sales_recommendations
description: Update opportunity scores in CRM/Dynamics systems
- id: create_performance_dashboard
name: Create Performance Dashboard
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\n\n\
print(\"\U0001F4CA Creating performance dashboard...\")\n\n# Mock dashboard creation\n\
dashboard_data = {\n \"dashboard_id\": \"DASH_OFF_001_2025_06_25\",\n \"\
officer_id\": \"OFF_001\",\n \"officer_name\": \"Sarah Johnson\",\n \"generated_date\"\
: datetime.now().isoformat(),\n \"data_freshness\": \"real_time\",\n \"\
summary_metrics\": {\n \"total_customers\": 45,\n \"high_priority_customers\"\
: 2,\n \"active_deals\": 15,\n \"pipeline_value\": 850000.00,\n\
\ \"upsell_potential\": 145000.00,\n \"revenue_at_risk\": 45000.00,\n\
\ \"quota_achievement\": 0.78,\n \"performance_trend\": \"positive\"\
\n },\n \"priority_customers\": [\n {\n \"customer_name\"\
: \"InnovateAI Corp\",\n \"priority_score\": 87.3,\n \"\
revenue_potential\": 65000.00,\n \"urgency\": \"urgent\",\n \
\ \"next_action\": \"Schedule demo within 24 hours\",\n \"status_indicator\"\
: \"hot\"\n },\n {\n \"customer_name\": \"TechCorp Industries\"\
,\n \"priority_score\": 92.5,\n \"revenue_potential\": 80000.00,\n\
\ \"urgency\": \"high\",\n \"next_action\": \"Executive\
\ expansion discussion\",\n \"status_indicator\": \"warm\"\n \
\ }\n ],\n \"opportunities\": [\n {\n \"type\": \"Premium\
\ Upgrade\",\n \"customer\": \"InnovateAI Corp\",\n \"value\"\
: 65000.00,\n \"probability\": 0.85,\n \"stage\": \"demo_requested\"\
\n },\n {\n \"type\": \"Module Expansion\",\n \
\ \"customer\": \"TechCorp Industries\",\n \"value\": 45000.00,\n\
\ \"probability\": 0.75,\n \"stage\": \"buying_signals\"\
\n }\n ],\n \"risks\": [\n {\n \"customer\": \"\
DataSystems Corp\",\n \"risk_level\": \"high\",\n \"revenue_at_risk\"\
: 45000.00,\n \"action_required\": \"immediate_retention_strategy\"\
\n }\n ],\n \"kpis\": {\n \"conversion_rate\": 0.72,\n \
\ \"avg_deal_size\": 56666.67,\n \"sales_cycle_days\": 52,\n \
\ \"customer_satisfaction\": 4.2,\n \"upsell_rate\": 0.35,\n \"\
retention_rate\": 0.92\n },\n \"ai_insights\": [\n {\n \
\ \"type\": \"opportunity\",\n \"message\": \"InnovateAI Corp showing\
\ very strong buying signals - Demo requested\",\n \"priority\": \"\
urgent\",\n \"action\": \"immediate_demo_scheduling\"\n },\n\
\ {\n \"type\": \"risk\",\n \"message\": \"DataSystems\
\ Corp requires immediate retention attention\",\n \"priority\": \"\
high\",\n \"action\": \"executive_intervention\"\n }\n ]\n\
}\n\nprint(f\"\u2705 Dashboard created for {dashboard_data['officer_name']}\"\
)\nprint(f\" High priority customers: {dashboard_data['summary_metrics']['high_priority_customers']}\"\
)\nprint(f\" Pipeline value: ${dashboard_data['summary_metrics']['pipeline_value']:,.2f}\"\
)\nprint(f\" Quota achievement: {dashboard_data['summary_metrics']['quota_achievement']*100:.0f}%\"\
)\n\nprint(f\"__OUTPUTS__ {json.dumps(dashboard_data)}\")\n"
outputs:
- name: performance_dashboard
value: Performance dashboard created
packages:
- json==2.0.9
condition: ${priority_check_result.has_high_priority_customers} == true
depends_on:
- update_opportunity_scores
description: Generate comprehensive sales performance dashboard
- id: log_no_high_priority
name: Log No High Priority
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\n\n\
print(\"\u2139\uFE0F No high priority customers identified\")\n\nlog_result =\
\ {\n \"log_type\": \"no_high_priority_customers\",\n \"timestamp\": datetime.now().isoformat(),\n\
\ \"officer_id\": \"OFF_001\",\n \"total_customers_analyzed\": 3,\n \"\
high_priority_threshold\": 80.0,\n \"customers_above_threshold\": 0,\n \"\
message\": \"All customers below high priority threshold. Standard processing\
\ applied.\",\n \"next_analysis_scheduled\": \"2025-06-26T09:00:00Z\"\n}\n\n\
print(f\"\U0001F4DD Logged: {log_result['message']}\")\nprint(f\" Customers\
\ analyzed: {log_result['total_customers_analyzed']}\")\nprint(f\" Next analysis:\
\ {log_result['next_analysis_scheduled']}\")\n\nprint(f\"__OUTPUTS__ {json.dumps(log_result)}\"\
)\n"
outputs:
- name: no_priority_log
value: No high priority customers logged
packages:
- json==2.0.9
condition: ${priority_check_result.has_high_priority_customers} == false
depends_on:
- check_high_priority_customers
description: Log when no high priority customers are identified
- id: send_daily_insights_email
name: Send Daily Insights Email
type: script
script: "#!/usr/bin/env python3\nimport json\nfrom datetime import datetime\n\n\
print(\"\U0001F4E7 Sending daily insights email...\")\n\n# Mock email sending\n\
email_result = {\n \"email_id\": \"EMAIL_INSIGHTS_2025_06_25_001\",\n \"\
recipient\": \"sarah.johnson@company.com\",\n \"recipient_name\": \"Sarah Johnson\"\
,\n \"subject\": \"Daily Sales Intelligence Report - June 25, 2025\",\n \
\ \"sent_at\": datetime.now().isoformat(),\n \"delivery_status\": \"sent\"\
,\n \"content_summary\": {\n \"high_priority_customers\": 2,\n \
\ \"urgent_actions\": 1,\n \"opportunities_identified\": 4,\n \
\ \"risks_detected\": 1,\n \"total_potential_revenue\": 145000.00,\n \
\ \"revenue_at_risk\": 45000.00\n },\n \"key_highlights\": [\n \
\ \"\U0001F6A8 URGENT: InnovateAI Corp demo request - Schedule within 24 hours\
\ ($65K opportunity)\",\n \"\U0001F3AF HIGH: TechCorp Industries expansion\
\ opportunity - Executive meeting needed ($80K potential)\",\n \"\u26A0\
\uFE0F RISK: DataSystems Corp churn risk - Immediate retention strategy required\
\ ($45K at risk)\"\n ],\n \"email_engagement\": {\n \"tracking_enabled\"\
: True,\n \"expected_open_rate\": 0.85,\n \"call_to_action\": \"\
View Full Dashboard\"\n },\n \"follow_up_scheduled\": {\n \"dashboard_notification\"\
: True,\n \"mobile_push\": True,\n \"slack_summary\": True\n \
\ }\n}\n\nprint(f\"\u2705 Daily insights email sent to {email_result['recipient_name']}\"\
)\nprint(f\" Subject: {email_result['subject']}\")\nprint(f\" Key highlights:\
\ {len(email_result['key_highlights'])}\")\nprint(f\" Delivery status: {email_result['delivery_status']}\"\
)\n\nfor highlight in email_result['key_highlights']:\n print(f\" \u2022\
\ {highlight}\")\n\nprint(f\"__OUTPUTS__ {json.dumps(email_result)}\")\n"
outputs:
- name: daily_email_sent
value: Daily insights email sent
packages:
- json==2.0.9
depends_on:
- create_performance_dashboard
- log_no_high_priority
description: Send daily intelligence report to sales officer
inputs:
- name: officer_id
type: string
default: OFF_001
description: Sales officer ID for portfolio analysis
- name: analysis_date
type: string
default: '2025-06-25'
description: Date for intelligence analysis
outputs:
daily_report:
type: object
source: send_daily_insights_email
description: Daily insights email delivery confirmation
dashboard_data:
type: object
source: create_performance_dashboard
description: Performance dashboard data
portfolio_analysis:
type: object
source: get_sales_officer_portfolio
description: Complete portfolio analysis results
sales_intelligence:
type: object
source: generate_sales_insights
description: AI-generated sales insights and recommendations
customer_priorities:
type: object
source: calculate_customer_priority_score
description: Customer priority scores and rankings
version: '1.0'
triggers:
- name: Daily Sales Intelligence
type: scheduled
schedule: 0 9 * * *
description: Run daily sales intelligence analysis at 9:00 AM
- name: Manual Intelligence Analysis
type: manual
description: Manually trigger sales intelligence workflow
- name: Sales Officer Login Trigger
path: /webhook/officer-login
type: webhook
config:
method: POST
headers:
- name: Content-Type
value: application/json
required: true
authentication: none
description: Triggered when sales officer logs in
input_mapping:
- webhook_field: officer_id
workflow_input: officer_id
description: Daily automated sales intelligence workflow for customer prioritization
and opportunity identification