📦 External services (workflow services)

Functions are proxied to services via WorkflowServices:

Directory (DIRECTORY_AMAZON)

Functions (apps/workflows/functions/directory.py):

  • GET_CHANNELS_ACTIVE_SUBSCRIBERS
  • CHANNELS_SOURCE_PARAM_SUBSCRIBERS
  • GET_FIREBASE_SUBSCRIBERS_DELIVERIES
  • GET_CAMPAIGNS_BY_URL
  • PROCESS_SUBSCRIBERS
  • REACTIVATING_UNSUBSCRIBED_USERS
  • UNSUBSCRIPTION_SPIKE_MONITORING
  • SUBSCRIPTION_DROP_MONITORING

Manager (MANAGER_AMAZON)

Functions (apps/workflows/functions/manager.py):

  • GET_CHANNELS_FOR_USERS
  • GET_CHANNELS_WITH_DOMAINS
  • UPDATE_CAMPAIGN
  • GET_CAMPAIGNS_BY_ACCOUNTS
  • DUPLICATE_POOLS
  • CAMPAIGN_RUNNER

Statistics (STATISTICS)

Functions (apps/workflows/functions/statistics.py):

  • GET_FIREBASE_DELIVERIES_STATISTICS
  • GET_CAMPAIGN_REPORTS
  • GET_FIREBASE_DELIVERY_ERRORS
  • GET_FIREBASE_SUBSCRIPTION_ERRORS
  • GET_MAIN_STATISTICS
  • CHANNELS_STATISTICS

SSO (SSO)

Functions (apps/workflows/functions/sso.py):

  • REQUEST_ACCESS_FOR_USERS

💬 Slack

Notifications are sent via Slack SDK. Templates are in apps/workflows/notification_templates/.

Key settings:

  • SLACK_BOT_TOKEN
  • SLACK_NOTIFICATION_CHANNEL

SlackNotificationFunction can post messages into a thread and stores thread_ts in Redis (SlackThreadMessages).

SendDomainsToLinkSwitcherFunction sends domains to link‑switcher via API:

  • /telegram/unsubscription-spike/
  • /telegram/subscription-drop/

Settings:

  • LINK_SWITCHER_BASE_URL
  • LINK_SWITCHER_API_KEY

📬 Kafka

run_kafka_consumer listens to SlackNotificationEvent and starts SlackNotificationWorkflow.

Setting:

  • KAFKA_GROUP_ID

0 items under this folder.