Skip to content

Integrations

Overview

The Integrations module connects SynthesQ to external payment processors and communication providers. Rather than hard-coding a single gateway into your workflows, you register one or more provider integrations per tenant and the platform routes each operation - payment initiations, SMS sends, WhatsApp messages - to the correct provider at runtime based on configurable routing rules.

The module is built around a three-tier architecture: Integration Categories (Payment, Communication) group related Integration Providers (Stripe, Twilio, etc.), each of which exposes a set of Integration Capabilities (Initiate Payment, Send SMS, etc.). When you configure an integration, you choose which capabilities to enable. This lets a single Twilio integration serve both SMS and WhatsApp without duplicating credentials.

All provider operations are executed asynchronously. When your application triggers a payment or sends a message, the platform queues the operation, delivers it to the provider, and tracks the outcome through a series of delivery statuses. Retries are handled automatically. This async model keeps your API response times fast and your application decoupled from transient provider failures.

Supported Providers

ProviderCategoryCapabilities
StripePaymentInitiate Payment, Process Refund, Verify Payment
PayPalPaymentInitiate Payment, Process Refund
PhonePePaymentInitiate Payment
CashfreePaymentInitiate Payment, Process Refund
TwilioCommunicationSend SMS, Send WhatsApp
PlivoCommunicationSend SMS
TextLocalCommunicationSend SMS
WA BusinessCommunicationSend WhatsApp

Quick Start

  1. Discover available providers - call GET /api/v1/integrations/providers to list all providers with their capabilities and credential schemas. The is_configured flag on each provider indicates whether your tenant already has an integration set up for it.

  2. Configure an integration - call POST /api/v1/integrations with the provider name, your credentials, and the capabilities you want to enable. The system will begin async credential verification immediately.

  3. Wait for verification - the integration starts in pending_verify status. Once the async verification job completes, it transitions to active (success) or error (failure). Poll GET /api/v1/integrations/{id} or wait for your application to receive the status change notification.

  4. Set up routing rules - call POST /api/v1/routing-rules to define which integration handles each capability. Rules support conditions (region, currency, amount thresholds) and a fallback integration for resilience.

Integration Lifecycle

Once configured, an integration moves through a defined set of statuses:

StatusDescriptionPossible Transitions
pending_verifyConfigured and awaiting async credential checkactive (verified), → error (failed)
activeVerified and eligible to receive routinginactive (manually disabled)
inactiveManually disabled, no operations routed to itactive (re-enabled)
errorVerification failed or runtime error detectedpending_verify (after credential update)

Async Verification

Credential verification happens in the background. Do not attempt to create routing rules for an integration until it reaches active status - routing rules that reference a non-active integration will not be selected during evaluation.

In This Section

  • Managing Integrations - Configure providers, manage credentials, and control integration status.
  • Routing Rules - Define which integration handles each capability and under what conditions.
  • Delivery Tracking - Monitor async delivery attempts, understand retry behaviour, and investigate failures.

Documentation for SynthesQ CRM/ERP Platform