How do you build reliable workflows for team collaboration software?

Hi everyone,

I’m working on a team collaboration app and I’m trying to figure out the best way to handle workflows in the background.

There are a few things we need to manage, like sending notifications when someone gets a new message, reminding users about pending tasks, triggering actions when someone joins a team, and handling approval workflows.

I’m using a messaging SDK like MirrorFly Teams for the real-time chat side, but I’m not sure what the best approach is for managing these workflows reliably.

For example, if a message triggers a notification or some other action, how would you normally design that flow? Would you keep the messaging system and workflow system separate?

Also, how do you usually handle retries, delayed tasks, or workflows that may run for a long time?

Would be interested to hear how others have approached this in their collaboration apps.

I’d keep messaging and workflow orchestration separate. We did this at our company, and it made maintenance easier because we could change integrations without rewriting the business logic.

Let the messaging SDK handle chat and use Temporal for notifications, reminders, and approvals. For example, a message event can start a notification workflow, while an approval workflow waits for a decision and sends reminders when needed.

Temporal handles retries and durable timers. Just make sure external actions are idempotent so retries don’t cause duplicates.

Does your messaging SDK provide webhooks you could use to trigger these workflows?