--- title: "Auto Distribution" slug: "server-api-ticketing-auto-distribution" updated: 2022-06-16T07:22:03Z published: 2022-06-16T07:22:03Z canonical: "developer.comm100.com/server-api-ticketing-auto-distribution" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.comm100.com/llms.txt > Use this file to discover all available pages before exploring further. # Auto Distribution ## Auto Distribution Config of ticketing auto distribution. - `Auto Distributions` - Auto Distributions Manage - `GET ticketing/autoDistributionConfig` - [Get a single Auto Distribution](/docs/server-api-ticketing-auto-distribution#get-a-single-auto-distribution) - `POST ticketing/autoDistributionConfig:disable` - [Disable the Auto Distribution](/docs/server-api-ticketing-auto-distribution#disable-the-auto-distribution) - `POST ticketing/autoDistributionConfig:enable` - [Enable the Auto Distribution](/docs/server-api-ticketing-auto-distribution#enable-the-auto-distribution) - `PUT ticketing/autoDistributionConfig` - [Update the Auto Distribution](/docs/server-api-ticketing-auto-distribution#update-the-auto-distribution) ### Auto Distribution JSON Format Auto Distribution is represented as simple flat JSON objects with the following keys: | Name | Type | Description | | --- | --- | --- | | `isEnabled` | bool | Whether Auto Distribution is enabled or not. | | `autoDistributionMethod` | string | How tickets are assigned to an agent. Allowed values are "assignToAgentByLoadBalancing", "assignToAgentByRoundRobin". | | `isLastAssignedAgentPreferred` | bool | Whether to choose the last assigned agent first when new ticket is received or not. | | `ifLimitMaxTicketsForAllAgents` | bool | Whether maximum number of auto assigned tickets option is enabled for all agents or not. | | `maxTicketsForAllAgents` | integer | Number of maximum auto assigned tickets for all agents. | | `ifExcludePendingExternalFromAgentMaxTicketCount` | bool | Tickets marked with the status of pending external will not be counted when the system checks if an agent has reached their predefined maximum number of tickets. | | `ifExcludeOnHoldFromAgentMaxTicketCount` | bool | Tickets marked with the status of on holding will not be counted when the system checks if an agent has reached their predefined maximum number of tickets. | | `agentAutoDistributions` | [agentAutoDistributions[]](/docs/server-api-ticketing-auto-distribution#agent-auto-distribution-json-format) | Reference to Agent Auto Distribution. | | `departmentAutoDistributions` | [departmentAutoDistributions[]](/docs/server-api-ticketing-auto-distribution#department-auto-distribution-json-format) | Reference to Department Auto Distribution. | ### Agent Auto Distribution JSON Format: | Name | Type | Description | | --- | --- | --- | | `ifParticipateInAutoDistribution` | bool | Whether an agent can automatically accept tickets or not. | | `maxTickets` | integer | Maximum tickets an agent can automatically accept. | | `agentId` | guid | Id of the agent. | | `agent` | [agent](/docs/agent) | Reference to Agent. | ### Department Auto Distribution JSON Format: | Name | Type | Description | | --- | --- | --- | | `departmentId` | guid | Id of the department. | | `autoDistributionMethod` | string | How tickets routed to a department are assigned to agent. Allowed values are "assignToAgentByLoadBalancing", "assignToAgentByRoundRobin", "keepDepartmentAsAssignee". | | `isLastAssignedAgentPreferred` | bool | Whether preferred assign to the department that was assigned last time. | ### Get a single Auto Distribution `GET ticketing/autoDistributionConfig` - #### Parameters: | Name | Type | in | Required | Description | | --- | --- | --- | --- | --- | | `include` | string | query | no | Allowed values are "ticketingAgentAutoDistribution", "ticketingDepartmentAutoDistribution". | - #### Response: [Auto Distribution](/docs/server-api-ticketing-auto-distribution#auto-distribution-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/ticketing/autoDistributionConfig \ -X 'GET' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false, "ifLimitMaxTicketsForAllAgents": false, "maxTicketsForAllAgents": 50, "ifExcludePendingExternalFromAgentMaxTicketCount": true, "ifExcludeOnHoldFromAgentMaxTicketCount": true, "agentAutoDistributions": [ { "ifParticipateInAutoDistribution": false, "maxTickets": 100, "agentId": "3b6560d4-0f10-4652-a376-e590936d290e", "agent": { "id": "c2c165b7-d5ce-40e5-a492-f586f514a062", "email": "andy@comm100.com", "displayName": "Andy Liao", "firstName": "Andy", "lastName": "Liao", "isAdmin": true, "isActive": true, "phone": "13712345678", "title": "Manager", "bio": "Hello, I am Andy", "timeZone": "Pacific Standard Time", "datetimeFormat": "YYYY/MM/DD HH:mm:ss", "createdTime": "2020-12-25T06:01:00.913Z", "isLocked": true, "lockedTime": "2020-12-25T06:01:00.93Z", "ifCustomizeAvatar": true, "customizeAvatar": "https://dash11.comm100.io/Global/agents/c1ad60f8-e2e1-47d2-ad50-8b5de24d2b06/customizeAvatar?SiteId=10000&version=6e7b513d20baaf89b84e81e56d365111", "systemAvatarId": "1383d4fd-3114-eb11-80fc-00155d081d0b", "avatar": "https://api11.comm100.io/v4/Global/agents/c2c165b7-d5ce-40e5-a492-f586f514a062/avatar", "permissionIds": [ "45A2EF45-7D46-EB11-8100-00155D081D0B" ], "departmentIds": [ "b6ff11d8-0be7-4e99-b8c7-5a7ab501c69b" ], "roleIds": [ "e0bf1302-d145-eb11-8100-00155d081d0b" ] } } ], "departmentAutoDistributions": [ { "departmentId": "aa3f71ac-e64e-492f-ae4f-9be6de29321a", "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false } ] } ``` ### Disable the Auto Distribution `POST ticketing/autoDistributionConfig:disable` - #### Parameters: No Parameters - #### Response: [Auto Distribution](/docs/server-api-ticketing-auto-distribution#auto-distribution-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/ticketing/autoDistributionConfig:disable \ -X 'POST' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": false, "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false, "ifLimitMaxTicketsForAllAgents": false, "maxTicketsForAllAgents": 50, "ifExcludePendingExternalFromAgentMaxTicketCount": true, "ifExcludeOnHoldFromAgentMaxTicketCount": true, "agentAutoDistributions": [ { "ifParticipateInAutoDistribution": false, "maxTickets": 100, "agentId": "3b6560d4-0f10-4652-a376-e590936d290e", "agent": { "id": "c2c165b7-d5ce-40e5-a492-f586f514a062", "email": "andy@comm100.com", "displayName": "Andy Liao", "firstName": "Andy", "lastName": "Liao", "isAdmin": true, "isActive": true, "phone": "13712345678", "title": "Manager", "bio": "Hello, I am Andy", "timeZone": "Pacific Standard Time", "datetimeFormat": "YYYY/MM/DD HH:mm:ss", "createdTime": "2020-12-25T06:01:00.913Z", "isLocked": true, "lockedTime": "2020-12-25T06:01:00.93Z", "ifCustomizeAvatar": true, "customizeAvatar": "https://dash11.comm100.io/Global/agents/c1ad60f8-e2e1-47d2-ad50-8b5de24d2b06/customizeAvatar?SiteId=10000&version=6e7b513d20baaf89b84e81e56d365111", "systemAvatarId": "1383d4fd-3114-eb11-80fc-00155d081d0b", "avatar": "https://api11.comm100.io/v4/Global/agents/c2c165b7-d5ce-40e5-a492-f586f514a062/avatar", "permissionIds": [ "45A2EF45-7D46-EB11-8100-00155D081D0B" ], "departmentIds": [ "b6ff11d8-0be7-4e99-b8c7-5a7ab501c69b" ], "roleIds": [ "e0bf1302-d145-eb11-8100-00155d081d0b" ] } } ], "departmentAutoDistributions": [ { "departmentId": "aa3f71ac-e64e-492f-ae4f-9be6de29321a", "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false } ] } ``` ### Enable the Auto Distribution `POST ticketing/autoDistributionConfig:enable` - #### Parameters: No Parameters - #### Response: [Auto Distribution](/docs/server-api-ticketing-auto-distribution#auto-distribution-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/ticketing/autoDistributionConfig:enable \ -X 'POST' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false, "ifLimitMaxTicketsForAllAgents": false, "maxTicketsForAllAgents": 50, "ifExcludePendingExternalFromAgentMaxTicketCount": true, "ifExcludeOnHoldFromAgentMaxTicketCount": true, "agentAutoDistributions": [ { "ifParticipateInAutoDistribution": false, "maxTickets": 100, "agentId": "3b6560d4-0f10-4652-a376-e590936d290e", "agent": { "id": "c2c165b7-d5ce-40e5-a492-f586f514a062", "email": "andy@comm100.com", "displayName": "Andy Liao", "firstName": "Andy", "lastName": "Liao", "isAdmin": true, "isActive": true, "phone": "13712345678", "title": "Manager", "bio": "Hello, I am Andy", "timeZone": "Pacific Standard Time", "datetimeFormat": "YYYY/MM/DD HH:mm:ss", "createdTime": "2020-12-25T06:01:00.913Z", "isLocked": true, "lockedTime": "2020-12-25T06:01:00.93Z", "ifCustomizeAvatar": true, "customizeAvatar": "https://dash11.comm100.io/Global/agents/c1ad60f8-e2e1-47d2-ad50-8b5de24d2b06/customizeAvatar?SiteId=10000&version=6e7b513d20baaf89b84e81e56d365111", "systemAvatarId": "1383d4fd-3114-eb11-80fc-00155d081d0b", "avatar": "https://api11.comm100.io/v4/Global/agents/c2c165b7-d5ce-40e5-a492-f586f514a062/avatar", "permissionIds": [ "45A2EF45-7D46-EB11-8100-00155D081D0B" ], "departmentIds": [ "b6ff11d8-0be7-4e99-b8c7-5a7ab501c69b" ], "roleIds": [ "e0bf1302-d145-eb11-8100-00155d081d0b" ] } } ], "departmentAutoDistributions": [ { "departmentId": "aa3f71ac-e64e-492f-ae4f-9be6de29321a", "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false } ] } ``` ### Update the Auto Distribution `PUT ticketing/autoDistributionConfig` - #### Parameters: | Name | Type | in | Required | Description | | --- | --- | --- | --- | --- | | `isEnabled` | bool | body | no | Whether Auto Distribution is enabled or not. | | `autoDistributionMethod` | string | body | no | How tickets are assigned to an agent. Allowed values are "assignToAgentByLoadBalancing", "assignToAgentByRoundRobin". | | `isLastAssignedAgentPreferred` | bool | body | no | Whether to choose the last assigned agent first when new ticket is received or not. | | `ifLimitMaxTicketsForAllAgents` | bool | body | no | Whether maximum number of auto assigned tickets option is enabled for all agents or not. | | `maxTicketsForAllAgents` | integer | body | no | Number of maximum auto assigned tickets for all agents. | | `ifExcludePendingExternalFromAgentMaxTicketCount` | bool | body | no | Tickets marked with the status of pending external will not be counted when the system checks if an agent has reached their predefined maximum number of tickets. | | `ifExcludeOnHoldFromAgentMaxTicketCount` | bool | body | no | Tickets marked with the status of on holding will not be counted when the system checks if an agent has reached their predefined maximum number of tickets. | | `agentAutoDistributions` | [agentAutoDistributions[]](/docs/server-api-ticketing-auto-distribution#agent-auto-distribution-json-format) | body | no | Settings of agent in Auto Distribution. | | `departmentAutoDistributions` | [departmentAutoDistributions[]](/docs/server-api-ticketing-auto-distribution#department-auto-distribution-json-format) | body | no | Settings of department in Auto Distribution. | - #### Response: [Auto Distribution](/docs/server-api-ticketing-auto-distribution#auto-distribution-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/ticketing/autoDistributionConfig \ -X 'PUT' \ -H 'Authorization: Bearer {access_token}' \ -H 'Content-Type: application/json' \ -D '{"isEnabled":true,"autoDistributionMethod":"assignToAgentByLoadBalancing","isLastAssignedAgentPreferred":false,"ifLimitMaxTicketsForAllAgents":false,"maxTicketsForAllAgents":50,"ifExcludePendingExternalFromAgentMaxTicketCount":true,"ifExcludeOnHoldFromAgentMaxTicketCount":true,"agentAutoDistributions":[{"ifParticipateInAutoDistribution":false,"maxTickets":100}],"departmentAutoDistributions":[{"autoDistributionMethod":"assignToAgentByLoadBalancing","isLastAssignedAgentPreferred":false}]}' ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false, "ifLimitMaxTicketsForAllAgents": false, "maxTicketsForAllAgents": 50, "ifExcludePendingExternalFromAgentMaxTicketCount": true, "ifExcludeOnHoldFromAgentMaxTicketCount": true, "agentAutoDistributions": [ { "ifParticipateInAutoDistribution": false, "maxTickets": 100, "agentId": "3b6560d4-0f10-4652-a376-e590936d290e", "agent": { "id": "c2c165b7-d5ce-40e5-a492-f586f514a062", "email": "andy@comm100.com", "displayName": "Andy Liao", "firstName": "Andy", "lastName": "Liao", "isAdmin": true, "isActive": true, "phone": "13712345678", "title": "Manager", "bio": "Hello, I am Andy", "timeZone": "Pacific Standard Time", "datetimeFormat": "YYYY/MM/DD HH:mm:ss", "createdTime": "2020-12-25T06:01:00.913Z", "isLocked": true, "lockedTime": "2020-12-25T06:01:00.93Z", "ifCustomizeAvatar": true, "customizeAvatar": "https://dash11.comm100.io/Global/agents/c1ad60f8-e2e1-47d2-ad50-8b5de24d2b06/customizeAvatar?SiteId=10000&version=6e7b513d20baaf89b84e81e56d365111", "systemAvatarId": "1383d4fd-3114-eb11-80fc-00155d081d0b", "avatar": "https://api11.comm100.io/v4/Global/agents/c2c165b7-d5ce-40e5-a492-f586f514a062/avatar", "permissionIds": [ "45A2EF45-7D46-EB11-8100-00155D081D0B" ], "departmentIds": [ "b6ff11d8-0be7-4e99-b8c7-5a7ab501c69b" ], "roleIds": [ "e0bf1302-d145-eb11-8100-00155d081d0b" ] } } ], "departmentAutoDistributions": [ { "departmentId": "aa3f71ac-e64e-492f-ae4f-9be6de29321a", "autoDistributionMethod": "assignToAgentByLoadBalancing", "isLastAssignedAgentPreferred": false } ] } ```