Proactive Email Outreach System

A dual-agent architecture where an Orchestrator Agent analyzes triggers and initiates email conversations, while a Conversation Agent handles all replies and maintains ongoing dialogue with recipients.

email outreach
multi-agent
proactive communication
1595

The Proactive Email Outreach System introduces a powerful separation of concerns pattern for autonomous email communication. Instead of a single agent handling everything, this architecture splits responsibilities between two specialized agents that work in concert.

The Orchestrator Agent is the brain of the system. It monitors external data sources, analyzes triggers, and decides when proactive outreach is warranted. When it identifies an opportunity — a new lead, a customer milestone, a follow-up need, or any triggering event—it uses the email/conversation/start ability to initiate a personalized email conversation. Crucially, it passes context about why this outreach is happening and what the goals are.

The Conversation Agent is the voice of the system. It's directly connected to the email integration and handles all incoming replies. When a recipient responds to an initiated email, this agent takes over the dialogue. It has access to the context provided by the Orchestrator (stored as an activity in the conversation) and can engage in natural, goal-oriented conversation.

This separation provides several key benefits:

First, it enables truly autonomous outreach. The Orchestrator can run on triggers or schedules, analyzing data and initiating conversations without human intervention. Meanwhile, the Conversation Agent remains ready to engage whenever recipients respond, whether that's minutes or days later.

Second, it allows each agent to specialize. The Orchestrator can be equipped with data analysis, CRM lookup, and decision-making abilities. The Conversation Agent can focus on communication skills, objection handling, and relationship building. Each agent excels at its specific role.

Third, it creates a clear audit trail. Every outreach decision is logged, including the context that triggered it. This makes the system transparent and allows for continuous improvement of outreach strategies.

Use cases for this pattern include:

Lead Nurturing: The Orchestrator monitors your CRM for new leads, scores them, and initiates personalized outreach. The Conversation Agent handles responses, qualifies interest, and can even schedule meetings.

Customer Success: The Orchestrator watches for usage patterns, milestones, or risk signals. It proactively reaches out to congratulate, offer help, or address potential churn. The Conversation Agent maintains the relationship.

Follow-up Automation: The Orchestrator tracks pending items, deadlines, or commitments. It sends timely reminders and check-ins. The Conversation Agent handles any questions or rescheduling needs.

Event-Driven Outreach: The Orchestrator monitors external events — news, market changes, product updates - and identifies relevant contacts. It initiates timely, contextual outreach that the Conversation Agent nurtures.

To extend this blueprint, consider adding abilities for CRM integration, calendar scheduling, or connecting to your internal databases. You could also add a third agent that analyzes conversation outcomes and feeds learnings back to the Orchestrator for improved targeting.

Backstory

Common information about the bot's experience, skills and personality. For more information, see the Backstory documentation.

You are the Outreach Orchestrator, responsible for identifying opportunities and initiating strategic email outreach. You analyze data, evaluate triggers, and decide when proactive communication will be valuable. YOUR ROLE: 1. ANALYZE OPPORTUNITIES - When given data about leads, customers, or events, evaluate whether outreach is warranted - Consider timing, relevance, and potential value - Identify the most compelling reason to reach out 2. CRAFT INITIAL MESSAGES - Write personalized, compelling first emails - Keep messages concise and focused on value to the recipient - Include a clear purpose and gentle call to action - Match tone to the context (warm for customers, professional for new leads) 3. PROVIDE CONTEXT - When initiating a conversation, always include rich context - Explain who this person is, why you're reaching out, and what success looks like - This context helps the Conversation Agent handle replies effectively 4. INITIATE STRATEGICALLY - Use the email/conversation/start ability to send emails - Always provide: recipient email, compelling subject, personalized message, and detailed context - The context should include: relationship history, trigger event, goals for the conversation, any relevant data EXAMPLE CONTEXT FORMAT: "RECIPIENT: Jane Smith, VP of Engineering at TechCorp RELATIONSHIP: Existing customer, 6 months active TRIGGER: Just hit 10,000 API calls milestone GOAL: Congratulate, explore expansion opportunities NOTES: Previously mentioned interest in enterprise features" Remember: You initiate, you don't converse. Once the email is sent, the Conversation Agent handles all replies. Your job is to start the right conversations with the right people at the right time. The current date is ${EARTH_DATE}.

Skillset

This example uses a dedicated Skillset. Skillsets are collections of abilities that can be used to create a bot with a specific set of functions and features it can perform.

  • Start Email Conversation

    Initiates a new email conversation with a recipient
  • 📄

    Search Web

    Search the web for information about companies or people
  • Fetch Web Page

    Fetch and extract content from a web page
  • 📄

    Search Web

    Search the web for information to help the conversation

Terraform Code

This blueprint can be deployed using Terraform, enabling infrastructure-as-code management of your ChatBotKit resources. Use the code below to recreate this example in your own environment.

Copy this Terraform configuration to deploy the blueprint resources:

Next steps:

  1. Save the code above to a file named main.tf
  2. Set your API key: export CHATBOTKIT_API_KEY=your-api-key
  3. Run terraform init to initialize
  4. Run terraform plan to preview changes
  5. Run terraform apply to deploy

Learn more about the Terraform provider

A dedicated team of experts is available to help you create your perfect chatbot. Reach out via or chat for more information.