system-prompts-and-models-o.../salesflow-saas/backend/dealix_gtm_os/agents/message_generation_agent.py
Claude 20277e0afc
feat: Dealix GTM Intelligence OS — multi-agent system
8 agents + 4 models + 4 configs + CLI dry-run + 3 docs.
Tested on agency/real_estate/clinic/saas — all pass.
Safety: LinkedIn scraping PROHIBITED, WhatsApp blast PROHIBITED.

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-26 17:16:52 +00:00

62 lines
2.8 KiB
Python

from dealix_gtm_os.agents.base_agent import BaseAgent
from dealix_gtm_os.models.message import OutreachMessage, ChannelType, AutomationLevel
SECTOR_MESSAGES = {
"agency": {
"first_line": "شفت أنكم تقدمون خدمات تسويق/دعاية لعملاء.",
"pain": "عملاؤكم يصرفون على إعلانات والـ leads تضيع بعد الكلك.",
"offer": "أضف خدمة متابعة leads لعملائك — 20% لك من كل عميل.",
},
"real_estate": {
"first_line": "لاحظت أن نشاطكم في العقار يعتمد على الاستفسارات.",
"pain": "60% من استفسارات الأسعار والمواقع ما تُتابع خلال ساعة.",
"offer": "Dealix يرد خلال 45 ثانية ويحجز موعد معاينة.",
},
"saas": {
"first_line": "شفت منتجكم — مشروع قوي.",
"pain": "الـ leads من الموقع تبرد خلال ساعة.",
"offer": "Dealix يرد فوراً ويؤهل ويحجز demo تلقائياً.",
},
}
class MessageGenerationAgent(BaseAgent):
name = "message_generation"
description = "Generates personalized Arabic outreach messages"
async def run(self, input_data: dict) -> dict:
company = input_data.get("name", "الشركة")
sector = input_data.get("sector", "").lower().replace(" ", "_")
channel = input_data.get("channel", "email")
msgs = SECTOR_MESSAGES.get(sector, SECTOR_MESSAGES.get("saas"))
body = f"""السلام عليكم فريق {company}،
أنا سامي من Dealix.
{msgs['first_line']}
المشكلة: {msgs['pain']}
الحل: {msgs['offer']}
نسوي pilot 7 أيام بـ 499 ريال مع ضمان استرداد كامل.
يناسبكم ديمو 10 دقائق؟
📅 calendly.com/sami-assiri11/dealix-demo
سامي العسيري | مؤسس Dealix | dealix.me
إذا ما يناسبكم هالنوع من الرسائل، ردوا "إيقاف"."""
msg = OutreachMessage(
target_company=company,
channel=ChannelType(channel) if channel in [c.value for c in ChannelType] else ChannelType.EMAIL,
automation_level=AutomationLevel.MANUAL_REQUIRED,
subject=f"فريق {company} — فكرة لتحسين متابعة العملاء",
first_line=msgs["first_line"],
body=body,
cta="يناسبكم ديمو 10 دقائق؟",
follow_up_24h=f"متابعة سريعة — أقدر أوريكم خلال 10 دقائق كيف Dealix يحول الاستفسارات لمتابعة وحجز.",
follow_up_72h=f"آخر متابعة مني. مهتم → رد 'مهتم'. إيقاف → رد 'إيقاف'.",
approval_required=True,
)
return msg.model_dump()