Integration categories
The platform supports five main integration categories:LLM providers
Connect OpenAI, Anthropic, Gemini, Groq, or Azure for language intelligence
TTS providers
Use ElevenLabs, Azure, Deepgram, Cartesia, and 14+ other text-to-speech services
STT providers
Integrate Deepgram, Azure, AssemblyAI, or ElevenLabs for speech recognition
Telephony providers
Deploy via Twilio, Telnyx, Vonage, or SIP trunking
FlowApps
Extend agent capabilities with plugin integrations like Cal.com
Architecture principles
Provider abstraction layer
Each integration type implements a standardized interface that abstracts provider-specific details:- LLM providers implement
ILLMServicefor streaming language model responses - TTS providers implement
ITTSServicefor audio synthesis - STT providers implement
ISTTServicefor speech transcription - Telephony providers implement standardized call control interfaces
- FlowApps implement
IFlowAppfor action and data fetcher registration
Configuration model
All providers follow a consistent configuration pattern:Sensitive fields like API keys are automatically encrypted when
isEncrypted: true using AES-256 encryption before storage.Provider registration
Providers are automatically discovered and registered at runtime using reflection:- Enumeration definition - Each provider type has an enum (e.g.,
InterfaceLLMProviderEnum) - Service implementation - Provider classes implement the interface and expose a static
GetProviderTypeStatic()method - Runtime registration - Manager classes scan assemblies and register matching implementations
- Database initialization - Provider metadata is seeded into MongoDB on first startup
Integration credentials
Credentials are managed through the Integrations system:- Defined in
IqraCore.Entities.Integrations.IntegrationData - Support multiple field types (text, password, select, number)
- Include validation schemas via
IntegrationFieldData - Link to providers via
IntegrationIdforeign key
Field configuration
Integration fields support:- Type validation - String regex, number min/max, array constraints
- Conditional visibility - Show/hide fields based on model selection or other field values
- Encryption - Automatic encryption for sensitive values (API keys, tokens)
- Default values - Pre-populated recommended settings
- Help documentation - Inline tooltips and links via
IntegrationHelpData
Multi-region architecture
Iqra AI’s integration system is designed for global deployment:- Provider endpoints - Configure region-specific endpoints (e.g., Azure regions, OpenAI geo routing)
- Latency optimization - Route requests to nearest provider region based on session location
- Failover support - Automatic fallback to alternate providers on failure
- Load balancing - Distribute requests across multiple provider accounts
Provider model selection
Each provider supports multiple models with distinct capabilities:- Enabled/disabled at runtime without code changes
- Version-locked to specific provider model identifiers
- Conditionally available based on integration configuration
Next steps
Configure LLM providers
Set up OpenAI, Anthropic, or other language models
Add voice capabilities
Configure text-to-speech for natural conversations
Enable speech input
Set up speech-to-text transcription
Deploy telephony
Connect Twilio or other phone providers