SLA Setup for Customer Inquiries in 1C-Bitrix
SLA (Service Level Agreement) for inquiries — set of rules defining deadline for first response to customer request and deadline for closing inquiry. In Bitrix implemented via "Technical Support" module (support) or in e-commerce with CRM via Bitrix24 CRM with funnel setup.
SLA in Technical Support Module
Module support — standard Bitrix tool for ticket systems. SLA settings in admin: Services → Technical Support → Service Level Agreements.
SLA Structure:
- Response Time — deadline first answer from ticket creation
- Resolution Time — deadline complete closure
-
Business Hours — schedule within which SLA counted (table
b_support_sla_calendar) - Holidays — excluded dates
Each ticket on creation assigned SLA based on:
- Inquiry category
- Source (web form, email, phone)
- Priority
- User group (VIP client, regular)
SLA Assignment via Events
On ticket creation Bitrix calls OnSupportTicketAdd. You can override auto-assigned SLA in handler:
\AddEventHandler('support', 'OnSupportTicketAdd', function(&$arFields) {
// If "Defect/Return" category — set SLA with 2-hour response
if ($arFields['CATEGORY_ID'] == RETURN_CATEGORY_ID) {
$arFields['SLA_ID'] = 3; // Required SLA ID
}
});
Database tables:
-
b_support_ticket— tickets, fieldsSLA_ID,DEADLINE,FIRST_RESPONSE_DEADLINE -
b_support_sla— SLA description (name, response time, resolution time) -
b_support_sla_day— work days and hours per SLA
SLA Violation Control
Bitrix has no built-in alert approaching deadline — implement via agent or scheduler:
// Agent: find tickets with deadline expiring in 1 hour
$deadline = new \Bitrix\Main\Type\DateTime();
$deadline->add('1 hours');
$tickets = \Bitrix\Support\TicketTable::getList([
'filter' => [
'=STATUS' => 'opened',
'<=DEADLINE' => $deadline,
'>DEADLINE' => new \Bitrix\Main\Type\DateTime(),
'=SLA_NOTIFIED' => 'N',
],
'select' => ['ID', 'TITLE', 'RESPONSIBLE_ID', 'DEADLINE'],
]);
After retrieval — send notifications to responsible via \CEvent::Send() and set SLA_NOTIFIED = Y flag (requires custom field in ticket table or HL-infoblock for notification state storage).
SLA in Bitrix24 CRM (for e-commerce with CRM)
If customer inquiries managed in Bitrix24 CRM as Deals or via Open Lines module, SLA configured in CRM → Settings → Stages and Funnels. At each stage, set maximum time in deal — on exceed, deal highlighted red.
For automation use CRM Robots (module crm): robot "Notify responsible" conditional on deal idle time. No additional code — only admin interface.
| Stage | Time |
|---|---|
| Analyze inquiry categories and requirements | 2–3 h |
| Create SLA and schedules | 1–2 h |
| Setup auto SLA assignment | 2–4 h |
| Develop deadline control agent | 3–5 h |
| Test with real inquiries | 2–3 h |







