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
-
Per Communication Method: Each TemplateGroup configures a provider for each communication method (email, SMS, IVR, push)
-
System vs Custom:
- System providers are cidaas-built-in services (default)
- Custom providers override system providers when configured
-
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, andcommunication 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 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.

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

{
"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"
},
}
Explore related topics
Need Help?
For any further assistance, feel free to visit our Support Portal.