Create channel profile
POST/omnichannel/channel-profiles
Creates a new channel profile that links a channel type to routing configuration, queue assignment, workload capacity, and a supervising user. Channel profiles are referenced by conversations to determine how they are distributed to agents.
Request
Request body
Content type application/json (required).
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable display name for the profile. Max length: 180 |
channel | string | Yes | The channel type this profile handles. One of: |
channel_config_id | integer | No | ID of the channel adapter configuration to bind. |
queue_name | string | No | Logical queue name used by the routing engine. Max length: 120 |
fallback_channel | string | No | Channel to fall back to if this channel is unavailable. One of: |
routing_mode | string | No | One of: |
default_priority | string | No | One of: |
workload_capacity | integer | No | Default: |
quality_threshold | number | No | Default: |
supervisor_user_id | integer | No | |
is_active | boolean | No | Default: |
settings_json | string | No | JSON object with provider-specific channel settings. |
Example
{
"name": "Enterprise Email Support",
"channel": "email",
"channel_config_id": 1,
"queue_name": "enterprise_email",
"fallback_channel": "sms",
"routing_mode": "round_robin",
"default_priority": "high",
"workload_capacity": 30,
"quality_threshold": 85,
"supervisor_user_id": 2,
"is_active": true
}
Responses
201 Channel profile created
Content type application/json, object · OmnichannelChannelProfileV1.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Auto-incremented primary key. |
name | string | No | Human-readable display name for the profile. |
channel | string | No | The channel type this profile handles. One of: |
channel_config_id | integer, nullable | No | ID of the underlying channel adapter configuration. |
queue_name | string, nullable | No | Queue identifier used by the routing engine. |
routing_mode | string | No | Algorithm used to distribute conversations to agents. One of: |
default_priority | string | No | Default priority assigned to conversations routed through this profile. One of: |
workload_capacity | integer | No | Maximum number of simultaneous conversations an agent in this queue can handle. Minimum: 1 · Maximum: 500 |
quality_threshold | number (float) | No | Minimum quality score (0-100) before a conversation is flagged for review. Minimum: 0 · Maximum: 100 |
supervisor_user_id | integer, nullable | No | ID of the user who supervises this queue. |
is_active | boolean | No | Whether this profile is currently accepting conversations. |
422 Validation failed — check channel enum or foreign key IDs
Example request
curl -X POST "https://{tenant}.faciotech.net/api/v1/omnichannel/channel-profiles" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "Enterprise Email Support", "channel": "email", "channel_config_id": 1, "queue_name": "enterprise_email", "fallback_channel": "sms", "routing_mode": "round_robin", "default_priority": "high", "workload_capacity": 30, "quality_threshold": 85, "supervisor_user_id": 2, "is_active": true}'