Skip to main content

communication-provider

w--- stoplight-id: d8e69ecc447fa title: Communication provider sidebar_label: Communication provider

Communication Provider

Overview

A communication provider is responsible for sending notifications to users in cidaas. These notifications are triggered by different identity-related events such as user creation, password reset, or MFA verification.

cidaas offers built-in communication providers and also allows you to configure custom providers based on your requirements.

Core Architecture

Communication providers are assigned to TemplateGroups per communication method:

┌─────────────────────────────────────────────────────────────────┐
│ PROVIDER ARCHITECTURE │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ │
│ │ TemplateGroup│ │
│ │ (default) │ │
│ └──────┬───────┘ │
│ │ │
│ │ configured with │
│ ├──────────────────────────────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Email │ │ SMS │ │
│ │ Provider │ │ Provider │ │
│ │ (SMTP/API) │ │ (REST API) │ │
│ └──────────────┘ └──────────────┘ │
│ │ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ IVR │ │ Push │ │
│ │ Provider │ │ Provider │ │
│ │ (REST API) │ │ (cidaas) │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Key Principle: Each TemplateGroup can have different providers for each communication method (email, SMS, IVR, push). This allows you to use different vendors for different channels.

Key benefits

With communication providers, you can:

  • Send notifications using default cidaas services for email, SMS, IVR, and push notifications (cidaas Authenticator).
  • Use custom SMTP services for email delivery.
  • Integrate external communication systems using REST APIs for email, SMS, IVR, or push notifications.

How Providers Work

Provider Assignment

  1. Per Communication Method: Each TemplateGroup configures a provider for each communication method (email, SMS, IVR, push)

  2. System vs Custom:

    • System providers are cidaas-built-in services (default)
    • Custom providers override system providers when configured
  3. Provider Selection: When a notification is sent:

    • Template is selected and rendered (see Communication Templates)
    • System checks TemplateGroup's provider for the requested communication method
    • Notification is sent to that provider

Provider Flexibility

Note

  • cidaas uses templates to generate notification content. Template selection is based on criteria such as templateKey, locale, and communication method.
  • Although templates are selected based on these criteria, communication providers receive all user data defined by the template type. This allows custom providers to either reuse the rendered content or apply their own templates and rendering logic.

Two Approaches:

  • Use cidaas-rendered content: Provider receives pre-rendered subject and body
  • Apply own templates: Provider receives all user attributes and renders using its own templates

Admin perspective

As a technical administrator, you can manage communication providers from CSpace:

  • View all system and custom communication providers.
  • Customize system providers (for example, sender address, reply address, or provider name).
  • Create and configure additional custom communication providers when required.

Communication provider list in CSpace

Communication provider status

Each communication provider has a status that reflects its readiness:

  • Active
    The provider is verified and can be assigned to a template group.
  • In progress
    The provider is still under configuration and has not yet passed verification.

Note

Custom communication providers must be successfully tested before they can be activated.

Setup options

SMTP custom communication provider

For email communication ("communicationMethod": "email"), SMTP is a supported option.
However, API-based providers are generally recommended as they offer better delivery feedback and error handling.

cidaas supports all major SMTP protocols.

SMTP provider setup

In this setup, cidaas renders the email content using its templates and forwards the rendered subject and body to the SMTP provider for delivery.

REST API custom communication provider

cidaas also allows you to integrate communication providers using REST APIs. This approach gives you full flexibility to:

  • Use any external provider
  • Control authorization
  • Format the request payload exactly as expected by your provider

Typical use cases include:

  • Password reset notifications
  • Email address verification
  • One-time passwords (OTP) via SMS or email
  • Push notifications for authentication flows

Email integration using REST API

REST API setup REST API OAuth setup

{
"service_id": "10e13702-afb2-4ee9-b6d1-4b7adef2b8a1",
"message_id": "41bc572c-3cd5-4637-b5fe-fd21276a3d0a",
"id": "41bc572c-3cd5-4637-b5fe-fd21276a3d0a",
"criteria": {
"templateKey": "USER_CREATED",
"groupId": "default",
"commMethod": "email",
"locale": "en",
"processingType": "LINK"
},
"senderAddress": "[email protected]",
"senderName": "MyCompany",
"replyAddress": "[email protected]",
"recipientAddresses": [
{
"address": "[email protected]"
}
],
"content": {
"content": "<!DOCTYPE html><html><head>.....",
"subject": "Welcome to your MyCompany account",
"messageFormat": "html"
},
"systemAttributes": {
"account_name": "cidaas-mycompany-test",
"login_link": "https://mycompany.cidaas.eu/short/9D0265DB83",
"name": "Tester Test",
"user_name": "[email protected]"
},
"customAttributes" :{
"customer_number" : "AB3444t43"
},
"contextAttributes": {
"client_id": "seeded_client_id_auth_spa_6"
},
}

SMS integration using REST API

{
"service_id": "10e13702-afb2-4ee9-b6d1-4b7adef2b8a1",
"message_id": "41bc572c-3cd5-4637-b5fe-fd21276a3d0a",
"id": "41bc572c-3cd5-4637-b5fe-fd21276a3d0a",
"criteria": {
"templateKey": "USER_CREATED",
"groupId": "default",
"commMethod": "sms",
"locale": "en",
"processingType": "code"
},
"senderAddress": "+4918629299",
"recipientAddresses": [
{
"address": "+49176930278"
}
],
"content": {
"content": "Your MFA Code is 2342",
"messageFormat": "text"
},
"systemAttributes": {
"account_name": "cidaas-mycompany-test",
"code" : "2342",
"login_link": "https://mycompany.cidaas.eu/short/9D0265DB83",
"name": "Tester Test"
},
"customAttributes" :{
"customer_number" : "AB3444t43"
},
"contextAttributes": {
"client_id": "seeded_client_id_auth_spa_6"
},
}
Support

Need Help?

For any further assistance, feel free to visit our Support Portal.