RT 5.0.1 Documentation

Customizing/Sla

Go to latest version →

Service Level Agreements

This is used to automate Starts/Due date setting. Almost everything is controlled in RT's config using %ServiceAgreements and %ServiceBusinessHours. Please check their documents in RT_Config.pm for full details. This is a cookbook to give you a quick sense of how flexible and powerful RT's SLA support is.

Show me a basic config that simply works?

No problem.

    Set( %ServiceAgreements, (
        Default => 'standard',
        Levels => {
            'standard' => {
                Starts => { RealMinutes => 0 },
                Resolve => { RealMinutes => 8*60 },
            },
            'urgent' => {
                Starts => { RealMinutes => 0 },
                Resolve => { RealMinutes => 2*60 },
            },
        },
    ));

With this, tickets' Starts date will be set to tickets' Created date, and Due date will be set to 2 or 8 hours after Created date, based on the which SLA value ("standard" or "urgent") is chosen.

Does it support business time instead of real time?

Sure.

    Set( %ServiceAgreements, (
        Default => 'standard',
        Levels => {
            'standard' => {
                Resolve => { BusinessMinutes => 4*60 },
            },
        },
    ));

You also need to define what business time is:

    Set( %ServiceBusinessHours, (
        'Default' => {
            1 => { Name => 'Monday', Start => '9:00', End => '18:00' },
            2 => { Name => 'Tuesday', Start => '9:00', End => '18:00' },
            3 => { Name => 'Wednesday', Start => '9:00', End => '18:00' },
            4 => { Name => 'Thursday', Start => '9:00', End => '18:00' },
            5 => { Name => 'Friday', Start => '9:00', End => '18:00' },
        },
    ));

Does business time support holidays?

Yep!

    Set( %ServiceBusinessHours, (
        'Default' => {
            1 => { Name => 'Monday', Start => '9:00', End => '18:00' },
            2 => { Name => 'Tuesday', Start => '9:00', End => '18:00' },
            3 => { Name => 'Wednesday', Start => '9:00', End => '18:00' },
            4 => { Name => 'Thursday', Start => '9:00', End => '18:00' },
            5 => { Name => 'Friday', Start => '9:00', End => '18:00' },
            holidays => [qw(01-01 12-25 2015-10-12)],
        },
    ));

Does it support response due?

Yep. e.g.

    Set( %ServiceAgreements, (
        Default => 'standard',
        Levels => {
            'standard' => {
                Starts => { RealMinutes => 0 },
                Response => { RealMinutes => 8*60 },
            },
        },
    ));

With this, Due date will be automatically unset after you reply to your clients. When your clients reply back, it'll be set to 8 hours after that.

You can define both "Response" and "Resolve" and RT will pick the one that comes earlier as the Due date.

Could I ignore Due date for stalled tickets?

Sure!

    Set( %ServiceAgreements, (
        Default => 'standard',
        Levels => {
            'standard' => {
                Starts => { RealMinutes => 0 },
                Resolve => { RealMinutes => 8*60, IgnoreOnStatuses => ['stalled'] },
            },
        },
    ));
← Back to index