Event-Driven

Architecture Principle · 08 of 9

Event-Driven

Every state change publishes an event to the platform event bus. Subscribers add new behavior — workflows, alerts, integrations, analytics — without modifying the source module.

What this means

In practice.

Adding a new alert or workflow doesn't require changing the module that triggers it

Multiple subscribers can listen to the same event independently

Async event processing means slow subscribers don't block fast ones

Replay events for debugging or backfilling new subscribers

How it works

Under the hood.

01

Event taxonomy

Every business event has a name (sales.order.confirmed), payload schema, and emitting module.

02

Message bus

Events flow through BullMQ on Redis. Persistent, ordered, durable.

03

Subscriber registration

Workflows, automations, integrations, and notifications register interest in specific events.

04

Failure isolation

If one subscriber fails, others continue. Failed deliveries retried with exponential backoff.

Visual

1Trigger Event
2Validate + Auth
3Process
4Emit Event
5Subscribers React

Real-World Example

Real-world: New compliance alert without code change

Before

Compliance team needed alerts when exports above ₹10 Cr were filed — to validate FEMA paperwork.

After

Configured automation: subscribed to invoice.finalized event, filtered by type=export and amount > 10000000, action=send Slack alert. Live in 20 minutes. No code change, no deploy.

Paper mill

Ready to modernize your mill?

See Papyrus BPApp
in your mill.

Book a personalized demo. We'll walk through every module relevant to your operation — from Deckle optimization to GSTR-3B compliance.

CallRequest Demo