Skip to content

Get started

Fabrik helps your team connect business events to customer communication, then see what happened and what it cost. You can start with a sandbox request before you configure a sender, provider, or wallet for live traffic.

I need to understand the product

Start with the platform model to see how applications, channels, delivery, and billing fit together.

I need to send a message

Follow the Node.js quickstart for a safe sandbox send from a trusted server.

I need to prepare for launch

Follow the going-live checklist for sender IDs, domains, funding, consent, and webhooks.

Application

One product inside your workspace. It owns its keys, environments, message definitions, webhooks, activity, and delivery history.

Environment

Sandbox and live are isolated. Your sk_test_ or sk_live_ key chooses the environment.

Channel

Send SMS, email, or WhatsApp through a direct resource or a managed definition.

Delivery

A send can be accepted before the provider confirms the final outcome. Follow the delivery to a terminal state.

Cost

Sandbox activity uses test capacity. Live sends reserve wallet funds and expose exact costs in minor units.

Choose this When it fits Example
Direct send Engineering owns the final payload and deploy cycle A service sends a one-off receipt with fabric.email.send()
Managed message Product, operations, or compliance needs controlled copy without a deploy A service sends order.shipped with fabric.messages.send()
Batch send The application needs to send up to 100 SMS items in one request A consented campaign or scheduled notification run

The delivery model is the same across these paths: use an idempotency key for retriable writes, consume signed webhooks for outcomes, and reconcile the delivery with your business reference.

  1. Create an application in the Fabrik dashboard. It owns the resources for this integration.
  2. Create a sandbox key and store it as FABRIC_API_KEY in a server-side secret manager.
  3. Choose a channel and send path. Use direct SMS, email, or WhatsApp, or publish a managed definition.
  4. Send from trusted server code. The SDK must never be bundled into a browser or mobile client.
  5. Inspect the result. Read the response, retrieve the delivery, or process the signed webhook.
Key Environment What it does
sk_test_… Sandbox Uses virtual delivery and test capacity; no live provider charge
sk_live_… Live Uses configured providers; requires the live setup for the channel

The SDK derives the environment from the prefix and rejects any other secret-key format before a network request. Sandbox and live definitions, webhook endpoints, activity, and provider resources are deliberately separate.