Kafka Events

30 Kafka event topics (18 produced, 12 consumed) with CloudEvents 1.0 envelope format.

Overview

Amplify-svc uses Apache Kafka (Amazon MSK Serverless) for asynchronous event-driven communication. All events follow the CloudEvents 1.0 specification and are partitioned by tenant_id.

MSK Broker (Staging)

boot-gpm4u49z.c2.kafka-serverless.us-east-1.amazonaws.com:9098

Produced Events (18 topics)

Events published by amplify-svc for downstream consumers. Topic pattern: eventzr.amplify.<entity>.<action>.v1

TopicDomainDescription
eventzr.amplify.workflow.created.v1WorkflowWorkflow was created
eventzr.amplify.workflow.activated.v1WorkflowWorkflow was activated
eventzr.amplify.workflow.paused.v1WorkflowWorkflow was paused
eventzr.amplify.workflow.completed.v1WorkflowWorkflow execution completed
eventzr.amplify.message.sent.v1DeliveryMessage was sent to provider
eventzr.amplify.message.delivered.v1DeliveryMessage was delivered to recipient
eventzr.amplify.message.bounced.v1DeliveryMessage bounced (hard or soft)
eventzr.amplify.message.failed.v1DeliveryMessage delivery failed
eventzr.amplify.message.opened.v1DeliveryMessage was opened by recipient
eventzr.amplify.message.clicked.v1DeliveryLink in message was clicked
eventzr.amplify.broadcast.started.v1BroadcastBroadcast started sending
eventzr.amplify.broadcast.completed.v1BroadcastBroadcast finished sending
eventzr.amplify.contact.unsubscribed.v1SubscriptionContact unsubscribed from communications
eventzr.amplify.contact.resubscribed.v1SubscriptionContact re-subscribed to communications
eventzr.amplify.call.initiated.v1TelephonyVoice call was initiated
eventzr.amplify.call.completed.v1TelephonyVoice call completed
eventzr.amplify.number.provisioned.v1TelephonyPhone number was provisioned
eventzr.amplify.number.released.v1TelephonyPhone number was released

Consumed Events (12 topics)

Events consumed by amplify-svc from upstream services.

TopicSourceDescription
eventzr.campaign.campaign.created.v1campaign-svcCampaign created — trigger workflow enrollment
eventzr.campaign.campaign.activated.v1campaign-svcCampaign activated — start delivery
eventzr.user.user.created.v1user-svcNew user created — add to welcome audiences
eventzr.user.user.updated.v1user-svcUser updated — refresh audience segments
eventzr.event.event.created.v1event-svcEvent created — trigger event-based workflows
eventzr.event.event.published.v1event-svcEvent published — trigger notification broadcasts
eventzr.integrationhub.delivery.status.v1integration-hub-svcDelivery status webhook received (email/SMS)
eventzr.integrationhub.whatsapp.status.v1integration-hub-svcWhatsApp message status update received
eventzr.wallet.deduction.confirmed.v1wallet-svcCredit deduction confirmed — proceed with delivery
eventzr.wallet.deduction.failed.v1wallet-svcCredit deduction failed — abort delivery
eventzr.subscriptions.subscription.upgraded.v1subscriptions-svcSubscription upgraded — unlock higher quotas
eventzr.subscriptions.subscription.downgraded.v1subscriptions-svcSubscription downgraded — enforce lower quotas

Consumer Groups

Group IDDescription
amplify-svcMain consumer group for general events
amplify-svc-delivery-statusDelivery status processing (high throughput)
amplify-svc-workflow-triggersWorkflow trigger processing
amplify-svc-billingUsage billing and credit processing

CloudEvents 1.0 Envelope

Event payload formatjson
{
  "specversion": "1.0",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "source": "eventzr://amplify-svc",
  "type": "eventzr.amplify.message.delivered.v1",
  "time": "2026-03-01T12:00:00.000Z",
  "datacontenttype": "application/json",
  "subject": "tenant-uuid",
  "data": {
    "tenantId": "tenant-uuid",
    "broadcastId": "broadcast-uuid",
    "recipientId": "recipient-uuid",
    "channel": "email",
    "messageId": "provider-message-id",
    "deliveredAt": "2026-03-01T12:00:00.000Z"
  }
}