Skip to main content

Service Communication: Index

Dependency graph and call tables for all platform services. For per-service detail, read packages/<name>/docs/communication.md. For end-to-end flows, see the Flows section below.

Scanned packages (22): hbf-webchat, hbf-console, hbf-bot, hbf-nlp, helvia-rag-pipelines, hbf-core, hbf-core-api, hbf-lcm, hbf-lcg, hbf-session-manager, hbf-broadcast, hbf-event-publisher, hbf-notifications, hbf-client-integrations, hbf-stats, hbf-reports, hbf-media-manager, hbf-data-retention, hbf-data-manager, open-bot-framework, hbf-knowledge-manager, hbf-scheduler.

Dependency Graph

HTTP Calls (Inter-Service)

FromToProtocolKey endpoints
hbf-webchathbf-coreHTTP GET/public/bot-deployments/{deploymentId}
hbf-bothbf-corehbf-core-apiBotDeployment, Subscribers, Groups, ChatSessions, NlpPipelines
hbf-bothbf-nlpHTTP POST/tenants/{tenantId}/process, /llm-request, /detect-language
hbf-bothbf-lcgHTTPPOST /requests, POST /messages, GET /tenants/.../availability (via LiveChatGatewayClient)
hbf-bothelvia-rag-pipelinesHTTP POST/pipelines/{id}:search
hbf-bothbf-event-publisherHTTP POST/connectors/flows:trigger
hbf-nlphbf-coreHBFCoreApi + HTTPnlp-pipelines, activities, sessions, tenants, test-sets, missed-questions
hbf-nlphelvia-rag-pipelinesHTTPPOST /pipelines/{id}:process, :search, :train, PUT /corpus
hbf-nlphbf-notificationsHTTP POST/organizations/{orgId}/notifications/
hbf-corehelvia-rag-pipelinesHTTPPOST /pipelines/{id}:train/:process, PUT /corpus, GET /pipelines/{id}
hbf-corehbf-lcmHTTP DELETE/organizations/{orgId}/data, /data-retention
hbf-corehbf-notificationsHTTP POST/organizations/{orgId}/notifications/
hbf-coreSDSHTTP multipartPOST/GET/PATCH /jobs
hbf-coreAutoBotHTTPPOST/GET/DELETE /tests
hbf-corehbf-data-managerHTTP DELETE / POSTDELETE /chat-sessions/:sessionId/interactions, POST /chat-sessions/interactions/bulk-delete — DM JWT auth (helvia.data-manager.token)
hbf-lcmhbf-coreHTTPuser auth, org/tenant lookups, 20+ methods
hbf-lcmhbf-lcgHTTP POSTlivechat lifecycle events (6 types) via POST /events/helvia-livechat (env: HBF_BOT_EVENT_URL)
hbf-lcmhbf-event-publisherHTTP POST/connectors/flows:trigger
hbf-lcghbf-coreHTTP GET/tenants/{id}, /organizations/{id} — tenant config, plugin settings
hbf-lcghbf-lcmHTTP POST/livechat-requests — Helvia internal livechat upstream
hbf-lcghbf-botHTTP POST/livechat-events — deliver transformed events back to bot
hbf-lcgGenesys Cloud APIOAuth2 + WebSocketmessaging, WebSocket event stream
hbf-lcgCisco WebEx APIHTTP pollingcontact center polling
hbf-lcgZendesk Sunshine APIHTTPconversation polling, messaging
hbf-bothbf-lcgHTTPPOST /requests, POST /messages, PATCH /requests/subscribers/:subHandle, DELETE /sessions/..., HEAD /organizations/..., GET /subscribers/..., GET /tenants/.../availability (JWT protected)
External (hbf-lcm / Genesys / Cisco / Zendesk)hbf-lcgHTTP POSTPOST /events/:alias — webhook callbacks
hbf-session-managerhbf-coreHBFCoreApitenants, chat sessions, NLP pipelines
hbf-session-managerhbf-event-publisherHTTP POST/connectors/flows:trigger
hbf-session-managerhbf-nlpHTTP POST/sessions/:id/analyze
hbf-session-managerCustomer webhooksHTTP POSTregistered webhook URLs
hbf-broadcasthbf-corehbf-core-apiBroadcasts, BotDeployments, Subscribers, Responses
hbf-event-publisherhbf-coreHTTPGET /users/me
hbf-notificationshbf-corehbf-core-api + HTTPOrganizations, user auth
hbf-client-integrationshbf-coreHTTPsubscribers, sessions, deployments, activities
hbf-statshbf-corehbf-core-apiTenantsClient.list(), createOrUpdateStats()
hbf-reportshbf-corehbf-core-api10+ analytics methods, orgs, tenants, deployments
hbf-media-managerhbf-corehbf-core-apiorg lookup, audit logs
hbf-data-retentionhbf-corehbf-core-apiorg/tenant data deletion, audit logs
hbf-consolehbf-coreHTTP RESTprimary backend (all CRUD)
hbf-consolehbf-lcmHTTP + Socket.IOlive chat REST + real-time events
hbf-consolehbf-notificationsHTTP + SSEnotification CRUD + real-time stream
hbf-consolehbf-media-managerHTTP RESTmedia file CRUD
hbf-consolehbf-reportsHTTP RESTreport schedules
hbf-consolehbf-nlpHTTP RESTNLP pipeline config
hbf-consolehbf-data-managerHTTP GETObservatory view — interaction metadata and session variables (REACT_APP_API_DATA_MANAGER_URL)
hbf-data-managerhbf-coreHTTP GETToken validation (HBFGuard) — GET /users/me with caller Bearer token
hbf-knowledge-managerhbf-corehbf-core-apiIntegrationClient.getById(), IntegrationClient.findAllByWebhookKey(), KnowledgeBaseClient.list(), KnowledgeBaseArticleClient.fileToArticles(), KnowledgeBaseGroupClient.deleteAll(), KnowledgeBaseGroupClient.deleteBySourceId(), UsersClient.findCurrentUser()
hbf-knowledge-managerAzure Blob StorageAzure SDK (@azure/storage-blob)Blob download (SAS token from hbf-core integration config); blob listing for full sync
open-bot-frameworkbot backendsHTTP POSTPOST <OpenBot.endpoint> — forward user activity (5 s timeout)
open-bot-frameworkS3-compatible storageMinIO client (S3-compatible)Conversation file attachments
open-bot-frameworkRedisioredisActivity watermark counters (incr/get/set, 1-hour TTL)

Async (Bull / Redis)

ProducerQueue / ChannelConsumerJob shape
hbf-bot (KafkaEventPublisher)Kafka: hbf.interaction.metadata (configurable)hbf-data-managerInteractionMetadata — per-turn analytics events flushed after each conversation turn
hbf-lcgRedis pub/subhbf-lcg (cluster peers)Heartbeat, RPC, leader election for cluster coordination

Real-time (WebSocket / Socket.IO / SSE)

EmitterProtocolReceiverPurpose
open-bot-frameworkWebSockethbf-webchat (browser)Bidirectional chat activity stream (Azure DirectLine replaced by OBF)
hbf-lcmSocket.IOhbf-console (browser)Live chat messages + events (agent workspace)
hbf-notificationsSSEhbf-console (browser)Real-time push notifications
hbf-botKafkaExternal consumersEvent stream (optional)

Service Port Map

ServiceEnv var used by callersNotes
hbf-coreCORE_URL / CORE_BASEURL / HBF_CORE_URLCentral API (Java/Kotlin)
hbf-botBOT_URL (used by hbf-scheduler, hbf-broadcast)Express, webhook receiver
hbf-scheduler(console calls directly)NestJS :4223, scheduled flow CRUD + execution
hbf-nlpNLP_BASEURL / NLP_URLNLP processing
helvia-rag-pipelinesGPT_PIPELINE_URL (from core), pipeline serviceUrl (from nlp)FastAPI, RAG processing
hbf-lcmHBF_LCM_URL / REACT_APP_API_LIVECHAT_URLLive Chat Manager
hbf-lcgLCG_BASEURL (used by hbf-bot) / HBF_BOT_EVENT_URL (used by hbf-lcm, targets /events/helvia-livechat)Live Chat Gateway; inbound: REST (JWT) + webhook POST /events/:alias; Redis pub/sub for cluster coordination
hbf-event-publisherPUBLISHER_BASEURL / EVENT_PUBLISHER_URL / HBF_EVENT_PUBLISHER_URLEvent flows + FCM push
hbf-notificationsNOTIFICATIONS_SERVICE_URL / REACT_APP_API_NOTIFICATIONS_URLSSE notifications
hbf-session-manager-- (not called by other services via URL)Webhook integrations + cron
hbf-broadcast-- (daemon, no inbound)Polling daemon
hbf-stats-- (daemon, no inbound)Stats aggregation daemon
hbf-reportsREACT_APP_API_REPORTS_URLReport generation
hbf-media-managerREACT_APP_API_MEDIA_URLMedia file management
hbf-data-retention-- (daemon, no inbound)GDPR cleanup daemon
hbf-data-managerDATA_MANAGER_URL (hbf-core), REACT_APP_API_DATA_MANAGER_URL (hbf-console)NestJS, default port 3000
hbf-knowledge-managerCORE_BASE_URL (outbound to core), no env var for inboundNestJS, default port 3000; inbound from Azure Event Grid and admin REST callers
hbf-client-integrations-- (called via HBF routing)Enterprise integrations
hbf-consoleCONSOLE_URL / CONSOLE_BASE_URLReact SPA (browser)
hbf-webchat-- (browser widget)Embeddable chat widget
hbf-core-api-- (npm library)Shared API client
open-bot-frameworkHTTP PORT (default 1986), WebSocket SOCKET_PORT (default 1992)Self-hosted DirectLine 3.0 gateway replacing Azure-hosted DirectLine

Flows

Detailed sequence diagrams split by flow to avoid context bloat:

FlowFileServices involved
Message Processingflows/message-processing.mdwebchat, Direct Line, bot, core, nlp, rag-pipelines
RAG Knowledge Queryflows/rag-query.mdbot, nlp, rag-pipelines, OpenAI, vector DB
Live Chat Handoverflows/live-chat.mdbot, lcm, session-manager, event-publisher, console
Broadcast Campaignflows/broadcast.mdbroadcast, core, Facebook/Teams/Slack/Viber
Analytics Ingestionflows/analytics.mdstats, reports, core, bot, data-manager, console