Integrations
The four managed packs we ship for revenue machinery.
Each pack has a canonical scaffold template, a pre-flight checklist, and a verify-it-works path that ships a real event to your sandbox account and waits for the matching webhook before moving on. The live catalogue at /catalogue is the runtime source.
Stripe
Live packSubscriptions, one-shot invoices, signed webhook fulfillment. The catalogue ships a Stripe forkable template today; the public preview is on the launch roadmap.
Prerequisites
- A Stripe account in test mode (publishable + secret key).
- Stripe webhook endpoint URL — Armalo mints this when the workspace is provisioned.
- Whitelisted signing secret (rotated by the platform; you do not handle it directly).
How to verify it works
- Fork the saas-landing-stripe template into your workspace.
- Run the local Stripe CLI test-endpoint mode (defaults to forwarding to your sandbox).
- Confirm the workspace chat rail surfaces a real Stripe event in the mission log; check the receipt in the approval inbox.
- Switch to live keys in the workspace settings → integrations panel only after the test event is recorded.
Meta ads
Live packConversions API server-side events with dedup keys; Pixel CAPI mirrored for parity testing. Marketing campaigns without telemetry loss.
Prerequisites
- Meta Business account with ad account + pixel set up.
- Conversions API token with ads_management + business_manage scopes.
- Pixel ID + dataset ID captured from Events Manager.
How to verify it works
- Open the workspace mission log; trigger a real lead form submission.
- Confirm the matching CAPI event reaches Events Manager within 60 seconds (dedup key visible).
- Switch to live once the test pixel receives the parity checkmark.
Cloud API for inbound and outbound messaging; verified webhook with conversation state stored alongside the room event log.
Prerequisites
- Meta WhatsApp Cloud API enabled on your business number.
- Permanent access token (rotate quarterly per Meta guidance).
- WhatsApp webhook subscription fields configured (messages, message_status).
How to verify it works
- Send a message into the workspace's inbound number; the workspace chat rail surfaces it within three seconds.
- Approve the outbound reply from the approval inbox; confirm the WhatsApp delivery receipt returns message-status:read.
SendGrid or Mailgun for transactional email. Inbound webhook + outbound event stream; provider-region pinned by tenant policy.
Prerequisites
- A verified domain in SendGrid or Mailgun.
- API key with mail.send scope; webhook signing key.
- Region selection (EU or US) declared in the workspace config.
How to verify it works
- Send a test email from the workspace; confirm SendGrid/Mailgun accepts the request and the delivery event streams back into the mission log.
- Set the unsubscribe URL to the platform's compliance endpoint.
Build your own integration
All integration surfaces go through one port — packages/ports/src/catalogue-operator.ts — and the credential broker in credential-vault. Bring-your-own scopes are documented in the API reference.