MessagePipedocs
Concepts

Overview

The MessagePipe domain model in one page.

MessagePipe organises sends around a small, opinionated model. Read this once and the rest of the docs make sense.

The hierarchy

ObjectPurposeScope
WorkspaceA tenant. Billing, members, isolation.One company / team
ProjectAn environment inside a workspace (e.g. Production, Staging).Many per workspace
API keyThe credential a server uses to call the Send API.Scoped to one project
Provider configurationA connected backend (SendGrid, Twilio, FCM, …).Workspace-wide
TemplateA versioned, parameterised message.Project-scoped
SendOne delivery attempt of a message.The unit of work

Channels

A channel is the transport family of the message: email, message (SMS), push, chat (WhatsApp). Each provider declares which channels it serves; the Send API routes the request to the best-priority active provider for the requested channel.

How a send flows

client ── POST /v1/{channel}/send ──▶  Send API  ── enqueue ──▶ send.queued
                                                          │
                                                  render, dispatch
                                                          │
                                                  Provider HTTP call
                                                          │
                                                  delivery.event
                                                ──▶ Delivery logs & analytics
                                                ──▶ Customer webhooks

Read on for the individual building blocks.