dograh/api/services/campaign
Mohamed-Mamdouh 5f28c1b2a9
feat: add Tuner Integration to Dograh (#311)
* Add tuner integration

* bump pipecat version

* chore: update pipecat submodule to match upstream and use tuner-pipecat-sdk 0.2.0

Update pipecat submodule from 0.0.109.dev23 to 13e98d0d9 (the exact commit
upstream dograh-hq/dograh uses after v1.30.1). This installs pipecat-ai as
1.1.0.post277 via setuptools_scm, satisfying tuner-pipecat-sdk 0.2.0's
pipecat-ai>=1.0.0 requirement.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* wire tuner

* feat: refactor integrations into self contained packages

* chore: simplify ensure_public_access_token

* fix: remove NodeSpec and make DTOs the source of truth

* feat: send relevant signal to mcp using to_mcp_dict

* fix: fix tests

* cleanup: remove nango integrations

* feat: add agents.md for integrations

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
2026-05-20 14:37:33 +05:30
..
sources feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
__init__.py Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
campaign_call_dispatcher.py feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
campaign_event_protocol.py Feat/campaign enhancements (#163) 2026-02-17 21:04:15 +05:30
campaign_event_publisher.py Feat/campaign enhancements (#163) 2026-02-17 21:04:15 +05:30
campaign_orchestrator.py feat: add logs in campaigns for failure or pausing (#265) 2026-05-05 19:23:50 +05:30
circuit_breaker.py feat: add logs in campaigns for failure or pausing (#265) 2026-05-05 19:23:50 +05:30
errors.py feat: limit campaign concurrency to number of CLIs 2026-02-07 13:45:21 +05:30
rate_limiter.py fix: number pool initialization in multi telephony setup 2026-05-08 14:48:53 +05:30
readme.md fix: make campaign process batch thread safe (#141) 2026-01-30 14:48:00 +05:30
runner.py feat: add redial option in campaigns 2026-04-13 23:25:43 +05:30
source_sync.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
source_sync_factory.py feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30

campaign_orchestrator.py (CampaignOrchestrator)

  • Listens to retry events, batch completed event, sync completed events from redis pubsub, and schedules batches
  • Monitors stale campaigns and schedules batches if one is not already scheduled
  • Marks campaign as completed if no more tasks pending

runner.py (CampaignRunnerService)

  • Service layer to handle router requests, like run campaign, pause campaign, resume campaign, get campaign status etc.

call_dispatcher.py (CampaignCallDispatcher)

  • Ensures rate limit and concurrency limits and dispatches call using telephony provider

campaign_tasks.py

  • sync campaign from source
  • process campaign batch