AI Agent Registry
Dealix runs 19 specialized AI agents (including customer-facing onboarding). Each agent executes as a Celery task, receives structured input, returns structured output, and follows defined escalation rules. All invocations are logged to ai_conversations for audit.
1. Lead Qualification Agent
| Property |
Value |
| ID |
lead_qualification |
| Role |
Score and qualify inbound leads based on profile, behavior, and sector fit |
| Inputs |
Lead record (name, phone, email, company, sector, city, source), activity history, tenant scoring rules |
| Outputs |
Qualification score (0-100), status recommendation (qualified/unqualified), reasoning, suggested next action |
| Escalation |
Score between 40-60 (ambiguous) -> flag for human review. Missing critical fields -> request enrichment before scoring |
2. Affiliate Recruitment Evaluator
| Property |
Value |
| ID |
affiliate_evaluator |
| Role |
Evaluate affiliate applications for approval based on profile, network reach, and sector alignment |
| Inputs |
Affiliate application (profile, experience, sector, network size, motivation), tenant criteria |
| Outputs |
Approval recommendation (approve/reject/review), tier suggestion, risk flags, onboarding notes |
| Escalation |
High-risk indicators (fraud history, competitor affiliation) -> escalate to admin. Borderline cases -> queue for manual review |
3. Onboarding Coach
| Property |
Value |
| ID |
onboarding_coach |
| Role |
Guide new affiliates and agents through platform onboarding with step-by-step instructions |
| Inputs |
User profile, role (affiliate/agent), completed onboarding steps, language preference |
| Outputs |
Next onboarding step, instructional message (Arabic or English), checklist status, resource links |
| Escalation |
User stuck for >48 hours -> notify manager. Repeated confusion on same step -> flag UX issue |
4. Outreach Writer
| Property |
Value |
| ID |
outreach_writer |
| Role |
Draft personalized outreach messages for leads across channels (WhatsApp, email, SMS) |
| Inputs |
Lead profile, sector, channel, language, campaign context, previous interactions, template (optional) |
| Outputs |
Draft message, subject line (email), suggested send time, A/B variant (optional) |
| Escalation |
Compliance flag on content (regulated sector) -> route to Compliance Reviewer. Lead marked do-not-contact -> block and alert |
5. Arabic WhatsApp Agent
| Property |
Value |
| ID |
arabic_whatsapp |
| Role |
Handle Arabic WhatsApp conversations with leads and contacts autonomously |
| Inputs |
Inbound WhatsApp message, conversation history, lead/contact record, active campaign context |
| Outputs |
Reply message (Arabic), detected intent, sentiment, extracted entities, conversation state update |
| Escalation |
Negative sentiment for 2+ consecutive messages -> transfer to human. Request for pricing/legal terms -> transfer to agent. Unrecognized intent after 2 attempts -> transfer to human |
6. English Conversation Agent
| Property |
Value |
| ID |
english_conversation |
| Role |
Handle English conversations across WhatsApp, email, and chat |
| Inputs |
Inbound message, channel, conversation history, lead/contact record |
| Outputs |
Reply message (English), detected intent, sentiment, extracted entities, conversation state update |
| Escalation |
Same rules as Arabic WhatsApp Agent. Language switch detected -> hand off to Arabic WhatsApp Agent |
7. Voice Call Agent
| Property |
Value |
| ID |
voice_call |
| Role |
Analyze voice call transcripts and provide real-time call guidance |
| Inputs |
Call transcript (live or post-call), lead/contact record, deal context, call direction |
| Outputs |
Call summary, sentiment analysis, key topics extracted, recommended follow-up actions, objections detected |
| Escalation |
Customer threat or legal mention -> alert supervisor immediately. Competitor mention -> flag for strategy review |
8. Meeting Booking Agent
| Property |
Value |
| ID |
meeting_booking |
| Role |
Negotiate and book meeting times with leads via conversational exchange |
| Inputs |
Lead record, assigned agent calendar availability, preferred channel, language, timezone |
| Outputs |
Proposed time slots, booking confirmation message, calendar event payload, auto_booking record |
| Escalation |
Lead rejects 3+ proposed times -> escalate to human agent. Calendar conflict detected -> alert assigned agent |
9. Sector Strategist
| Property |
Value |
| ID |
sector_strategist |
| Role |
Generate sector-specific sales strategies, talking points, and competitive positioning |
| Inputs |
Sector identifier, company profile, deal context, knowledge base articles, competitor data |
| Outputs |
Strategy brief, key talking points, objection predictions, recommended assets, pricing guidance |
| Escalation |
Unknown sector with no knowledge base data -> flag for content team. Conflicting market data -> flag for review |
10. Objection Handler
| Property |
Value |
| ID |
objection_handler |
| Role |
Detect objections in conversations and generate contextual responses |
| Inputs |
Conversation message(s), detected objection type, lead/deal context, sector, language |
| Outputs |
Objection classification, recommended response (Arabic/English), supporting evidence, confidence score |
| Escalation |
Pricing objection on deal >100K SAR -> involve manager. Legal/compliance objection -> route to Compliance Reviewer |
11. Proposal Drafter
| Property |
Value |
| ID |
proposal_drafter |
| Role |
Generate structured proposals and pitch decks based on deal context and sector assets |
| Inputs |
Deal record, company profile, sector assets, pricing data, template, language |
| Outputs |
Proposal document (structured JSON), executive summary, pricing table, terms section, version number |
| Escalation |
Deal value >500K SAR -> require manager approval before sending. Custom terms requested -> flag for legal review |
12. QA Reviewer
| Property |
Value |
| ID |
qa_reviewer |
| Role |
Review AI-generated content (messages, proposals, responses) for quality, accuracy, and tone |
| Inputs |
Generated content, content type, target audience, language, context |
| Outputs |
Quality score (0-100), issues found, suggested corrections, approval status (pass/revise/fail) |
| Escalation |
Score below 50 -> block content from sending, alert content team. Factual error detected -> block and flag |
13. Compliance Reviewer
| Property |
Value |
| ID |
compliance_reviewer |
| Role |
Check messages, proposals, and actions for regulatory compliance (Saudi regulations, data protection, marketing laws) |
| Inputs |
Content to review, content type, target region, sector, applicable policies |
| Outputs |
Compliance status (compliant/non_compliant/review_needed), violations found, required changes, regulation references |
| Escalation |
Clear violation -> block action and alert compliance officer. Ambiguous case -> queue for human legal review |
14. Knowledge Retrieval Agent
| Property |
Value |
| ID |
knowledge_retrieval |
| Role |
Search and retrieve relevant knowledge base articles using semantic search (RAG) |
| Inputs |
Query (natural language), sector filter, language, context (which agent is requesting) |
| Outputs |
Ranked article list with relevance scores, extracted snippets, source references |
| Escalation |
No relevant results found (all scores below threshold) -> flag knowledge gap for content team |
15. Revenue Attribution Agent
| Property |
Value |
| ID |
revenue_attribution |
| Role |
Attribute revenue to affiliates, campaigns, and channels using multi-touch attribution |
| Inputs |
Deal record, lead journey (touchpoints), affiliate referral data, campaign history |
| Outputs |
Attribution breakdown (affiliate %, campaign %, channel %), commission calculation, confidence score |
| Escalation |
Multiple affiliates claim same lead -> flag for dispute resolution. Attribution confidence below 70% -> flag for manual review |
16. Fraud Reviewer
| Property |
Value |
| ID |
fraud_reviewer |
| Role |
Detect fraudulent patterns in affiliate activity, lead generation, and commission claims |
| Inputs |
Affiliate activity log, lead generation patterns, commission history, IP/device data, behavioral signals |
| Outputs |
Risk score (0-100), fraud indicators found, recommended action (clear/monitor/suspend/block), evidence summary |
| Escalation |
Risk score >80 -> auto-suspend affiliate and alert admin. Coordinated fraud pattern (multiple accounts) -> escalate to platform security |
17. Guarantee Reviewer
| Property |
Value |
| ID |
guarantee_reviewer |
| Role |
Evaluate gold guarantee claims for validity and recommend approval or denial |
| Inputs |
Guarantee claim, deal record, customer record, service delivery evidence, policy rules |
| Outputs |
Validity assessment, recommendation (approve/deny/partial), refund amount suggestion, reasoning, policy references |
| Escalation |
Claim >50K SAR -> require director approval. Repeat claimant (3+ claims) -> flag for fraud review. Policy ambiguity -> escalate to legal |
18. Management Summary Agent
| Property |
Value |
| ID |
management_summary |
| Role |
Generate executive summaries and reports for management dashboards |
| Inputs |
Time period, metrics scope (revenue, pipeline, affiliates, agents, guarantees), tenant data |
| Outputs |
Executive summary (Arabic/English), key metrics, trend analysis, alerts, recommended actions |
| Escalation |
Revenue decline >20% period-over-period -> urgent alert to owner. Data anomaly detected -> flag for investigation |
19. Customer Integration Concierge
| Property |
Value |
| ID |
integration_concierge |
| Role |
Guide paying B2B customers and their IT/channel owners through environment setup, integrations, WhatsApp, and go-live checks — step by step, in Arabic/English |
| Inputs |
Current onboarding step id, tenant context, optional go-live matrix snapshot, user question, last connectivity-test or API error (sanitized) |
| Outputs |
Next actions for customer vs Dealix CSM, verification hints (no secrets), escalation flag to human |
| Escalation |
Repeated credential failures, Meta/Salesforce org access blocked, or policy-sensitive requests -> human CSM |
Agent Invocation Flow
Event Received
|
v
Agent Router --> selects agent(s) by event type
|
v
Input Validation --> schema check
|
v
Celery Task Dispatch --> async execution
|
v
LLM Call --> OpenAI / provider
|
v
Output Parsing --> structured response
|
v
Escalation Check --> meets escalation criteria?
| |
No Yes
| |
v v
Action Handler Human Handoff
(DB update, (notify agent,
send message, create task,
book meeting) alert manager)
| |
v v
Log to ai_conversations
Agent Configuration
Each agent is defined in ai-agents/ with:
prompt.md - System prompt and instructions
schema.json - Input/output JSON schema
config.yml - Model, temperature, max tokens, retry policy, escalation rules
tests/ - Example inputs and expected outputs