Loading Fused

Skip to content
Fused
Fused

Messaging and integrations

Your SMS provider, connected without a release.

Changing SMS provider stops being a development project. The institution writes a short script for its provider's HTTP interface, Fused runs it in a sandbox, and messages go out through an outbox that a retried request cannot send twice.

GWYSMS gateway
// Runs in a sandbox. Reads the provider's reply.
export function succeeded(response) {
  return response.status === 200
    && response.body.includes('"accepted"');
}

Template: “Loan APP-CMB03-2026-000318 is waiting for your approval.”

Any HTTP gateway, connected with a short script that runs in a sandbox. Sample data.

What it does

Any HTTP SMS gateway

A gateway is a URL and a short script that reads the provider's token and checks its answer for success. The script runs in a sandbox with memory and time limits.

Email through AWS SES

Email is sent through Amazon SES from the same outbox as text messages.

Message templates

Templates with placeholders, rendered when a message is queued, and a test send before a template is used.

A notify step in any flow

An approval flow can queue a message from a template at any step, such as telling a manager that an item is waiting.

An outbox that never sends twice

A message is written in the same transaction as the change it belongs to, under a unique idempotency key. A failure no retry can fix is not retried.

Signed webhooks

Events are posted to your HTTPS endpoint in HMAC-signed batches, oldest first. Five failures in a row pause the subscription until a person resumes it.

What it refuses

A control is only a control if the system enforces it.

  • Fused refuses a gateway or webhook address that is not HTTPS or points at a private network.
  • Fused refuses a second send of a message a retried request already queued.
  • Fused refuses SMS as a sign-in factor.
  • Fused refuses retrying a failure no retry can fix, such as a rejected address.

The rules underneath

The detail your finance and IT teams will ask about.

Sandbox
QuickJS compiled to WebAssembly, with memory and deadline limits enforced by the interpreter itself.
Delivery
At least once, from a transactional outbox, with backoff and full jitter.
Delivery status
Sent means the provider accepted the message. Delivery receipts are not collected.
Webhook signature
X-Fused-Signature carries a SHA-256 HMAC of the body; a consumer de-duplicates on each event's sequence number.
Webhook pause
Five failed deliveries in a row pause a subscription and record it on the audit trail.
Retention
Sent and failed messages are pruned after 90 days by default; a message still owed is never pruned.

Messaging and integrations: questions

Will it work with our SMS provider?

If your provider accepts HTTP requests, yes. A short script is written for it, and it runs in a sandbox without a software release.

How do we connect our other systems?

Through webhooks. Fused posts its events to your HTTPS endpoint in signed batches, and your system de-duplicates on each event's sequence number.

Do you integrate with CRIB?

Not today. Country compliance packs are on the roadmap.

Do you send sign-in codes by SMS?

No. Sign-in uses an authenticator app, and codes are never sent by SMS.

See it on your own products and numbers.

A walkthrough with the team that builds Fused: your loan products, your branches, your month-end.