01Case study

AI Outreach Stack — Voice Campaigns, Call Intelligence & CRM Automation

Built and evolved an AI outreach stack connecting campaign operations, real-time voice agents and CRM orchestration so leads could be called, scored and followed up without manual glue work between tools.

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

The problem

Sales and operations teams needed to run multi-stage outreach, capture call intelligence, evaluate stage success and synchronize follow-up actions without relying on fragile handoffs between disconnected 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

The team developed three related services: a full-stack voice outreach product, a campaign operations console and an API-only CRM orchestration layer. Together they transformed inbound leads into AI phone conversations, structured outcomes and coordinated follow-through across CRM, calendar and email systems.

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. Contributed across campaign operations, voice calling and CRM orchestration

  2. Implemented and refined call initiation, lead/campaign workflows and post-call processing

  3. Coordinated async execution with queues, retries and shared capacity controls

  4. Handled out-of-order provider events and idempotent completion processing

  5. Built structured outcome evaluation against campaign and stage requirements

  6. Supported containerized AWS delivery with infrastructure-as-code and CI/CD

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

  • Integrated Vapi for assistant configuration, call execution and webhook-driven post-call processing

  • Integrated Pipedrive for lead/person ingestion, label gating, disposition writeback and activity notes

  • Supported Twilio and Vonage telephony with ElevenLabs voice configuration

  • Persisted Vapi call recordings into private S3 and orchestrated follow-up through Google Calendar/Meet and email

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

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

12Boundaries

Scope & caveats

These implementation boundaries keep the public description technically honest.

  • Vapi webhook signature verification was largely unimplemented despite secret settings.
  • Visible Pipedrive and CRM inbound webhook paths did not consistently enforce strong signature authentication.
  • CRM callbacks were unsigned HTTP POSTs by documented design.
  • Some CRM-to-Pipedrive update paths included testing-mode comments and defensive compatibility code.
  • Automated test coverage was thin or had drifted in parts of the service family.
13Visuals
Multi-stage voice campaign workflow and call intelligence
CRM disposition, calendar and email orchestration flow
15Next step

Need similar technical experience applied to your requirement?