01Selected team experience

AI Outreach and CRM Automation

AI voice outreach connected to campaign operations and CRM follow-through — coordinating lead intake, structured outcomes, CRM updates, calendar booking and email follow-up across Vapi, Pipedrive, Twilio, FastAPI and AWS.

  • Vapi
  • Pipedrive
  • Twilio
  • ElevenLabs
  • Angular
  • FastAPI
  • AWS SQS
  • Terraform
  • AWS ECS
AI outreach stack campaign and call operations dashboard
02Challenge

The problem

Sales teams needed multi-stage outreach without manual dialing or fragile copy-paste between voice, CRM, calendar and email tools.

  • Run multi-stage outreach campaigns without manually dialing every lead
  • Capture transcripts, recordings and structured answers from each call
  • Decide whether a campaign stage succeeded and what should happen next
  • Write outcomes back to the CRM without overwriting unrelated data
  • Schedule calendar invites and reminders when a lead qualified
03Solution

How it was solved

Three related services handled campaign operations, AI voice execution and CRM orchestration. Asynchronous workers managed concurrency and retries; structured call results controlled stage progression; recordings were persisted privately; and CRM updates preserved unrelated data while coordinating next actions.

04Evolution

Delivery path

  1. 01 · Voice outreach platform

    Operators configured Vapi assistants, prompts, ElevenLabs voices, knowledge bases, Twilio/Vonage phone numbers and staged campaigns; launched calls; and reviewed transcripts, recordings, costs and progress.

  2. 02 · Campaign operations console

    Lead management, activity timelines, requirement evaluation, outcome classification, timezone-aware retries, calling windows and configurable inbound webhooks.

  3. 03 · CRM orchestration service

    Pipedrive lead/person ingestion, label-based outreach gating, AI call triggering, disposition writeback, rich activity notes, Google Calendar/Meet events and follow-up email.

05Architecture

Platform topology

PostgreSQL stored domain data. Redis/RQ and TaskIQ supported legacy and service-specific paths; SQS, DLQs and EventBridge handled the more mature voice workflow. Terraform provisioned ECS/Fargate, ECR, RDS, S3, ALB/ACM, KMS, secrets and logging; GitHub Actions OIDC drove rolling deployments.

Pipedrive webhook (lead / person / label)
    └─► CRM Orchestration Service
          └─► AI Caller API (async / sync / scheduled)
                └─► Vapi call
                     (Twilio/Vonage number + ElevenLabs voice)
                      └─► Vapi webhooks
                           (status / end-of-call-report)
                            └─► Voice platform processor
                                 ├─ outcome classification
                                 ├─ stage progression
                                 ├─ private S3 recording persistence
                                 └─ CRM callback(s)
                                      └─► CRM orchestration callback
                                           ├─ Pipedrive labels
                                           ├─ Pipedrive activity note
                                           └─ Calendar / Meet / email
06Product

Product surface

  • Lead enters

    Pipedrive lead/person webhook, inbound webhook or operator creation; fetch Pipedrive contact arrays, persist locally and gate outreach using designated labels

  • Call is prepared

    Campaign stage, Vapi assistant, prompt, knowledge base, ElevenLabs voice and Twilio/Vonage number produce lead-aware caller configuration

  • Call executes

    Immediate, queued or scheduled worker paths protected by concurrency controls and leases

  • Result arrives

    Vapi status, tool results and end-of-call reports drive classification, stage progression, voicemail detection and private S3 recording storage

  • Systems update

    Pipedrive labels and HTML activity notes, CRM callbacks, Google Calendar/Meet and email remain aligned without blocking the call path

07Engineering

Technical highlights

  • Event-order ambiguity

    Vapi webhooks could arrive out of order. Preliminary call-ended events were deferred until richer end-of-call reports arrived, while completion activity was upserted to avoid duplicate processing.

  • Capacity and reliability

    Async workers used local concurrency limits, shared leases tied to Vapi call IDs, retries, EventBridge-delayed requeues and SQS dead-letter paths so provider failures did not silently exhaust capacity.

  • Structured conversation progress

    Tool and function results updated lead-stage data, validated required fields and determined whether a campaign stage could advance.

  • Cross-system CRM reconciliation

    Pipedrive updates preserved unrelated labels, enforced mutually exclusive AI status groups, avoided no-op writes and best-effort synchronized local state after external patches.

  • Durable call media

    Temporary Vapi recording URLs were copied into private S3 storage and exposed through time-limited playback access.

08Integrations

Connected systems

  • Vapi

    Primary AI voice orchestration across both voice products. Assistants and calls were created through api.vapi.ai; IDs, statuses, transcripts, analysis, recordings, costs and tool results were persisted and processed asynchronously.

  • Pipedrive

    Inbound lead/person webhooks and label synchronization powered outreach gating. Call completion updated labels without overwriting unrelated state and created rich HTML activities containing summaries, transcripts, qualification data and follow-up details.

  • Twilio & Vonage

    Telephony providers supplied and managed outbound phone numbers associated with Vapi phone-number IDs. Vonage was supported as an alternate configured transport.

  • ElevenLabs

    Configurable voice synthesis option used when building assistant and Vapi call configuration.

  • Google Calendar & Meet

    Qualified leads could trigger calendar events, Meet links and attendee invitations, with local event records and background reminder scheduling.

  • Email & CRM callbacks

    Transactional email with an SMTP/SES-style fallback handled confirmations and reminders. Voice products emitted independent callback POSTs for call state, completion outcomes and retry metadata.

  • AWS delivery

    ECS/Fargate, ECR, RDS PostgreSQL, S3, Secrets Manager, CloudWatch, KMS and ALB/ACM were provisioned with Terraform; GitHub Actions OIDC pushed images to ECR and deployed ECS services.

09Scope

What the team delivered

  1. Connected campaign planning, calls and CRM activity

  2. Automated qualification and stage progression

  3. Coordinated retries and calling windows

  4. Handled out-of-order provider events

  5. Created calendar and email follow-up

  6. Deployed containerized services through infrastructure as code

10Services

Repos & services

Anonymized service family across the platform.

ServiceResponsibilityStack
Voice Outreach PlatformStaged campaigns, Vapi calling, Twilio/Vonage numbers, operator review and CRM callbacksAngular 19, FastAPI, PostgreSQL, Redis/SQS, AWS ECS, Terraform
Campaign Operations ConsoleLead operations, stage evaluation, retries, calling windows and dashboardsAngular 19, FastAPI, PostgreSQL, Redis/RQ, Terraform
CRM Orchestration ServicePipedrive events, label gating, AI call triggers, dispositions, Calendar/Meet and emailFastAPI, Tortoise ORM, PostgreSQL, Redis/TaskIQ, AWS ECS
11Outcomes

Results that matter

  • Connected campaign operations, AI voice execution and CRM follow-through in one coordinated stack

  • Automated qualification, stage progression, retries and calling windows

  • Handled out-of-order provider events with durable completion processing

  • Supported Twilio and Vonage telephony with ElevenLabs voice configuration

  • Persisted call recordings privately and orchestrated calendar and email follow-up

  • Deployed containerized services on AWS ECS using Terraform and GitHub Actions OIDC

AI voice workflows, asynchronous processing, CRM reconciliation, event coordination, cross-stack delivery and cloud infrastructure.

12Boundaries

Scope & caveats

These implementation boundaries keep the public description technically honest.

  • This case study describes delivery scope and architecture. Private security assessments are maintained separately.
  • Provider authentication, webhook verification and production access controls follow the operating environment’s standards and are not published here.
  • CRM write paths preserve unrelated records; exact commercial configurations vary by deployment.
  • Follow-up channels such as calendar and email depend on approved account access and campaign configuration.
  • Automated quality checks and monitoring continue as part of normal production ownership.
13Visuals
Multi-stage voice campaign workflow and call intelligence
CRM disposition, calendar and email orchestration flow
15Next step

Need similar engineering applied to your business?