Skip to main content

Customer & Agent SLA Implementation Details

Event

Agent SLA

Customer SLA

CHANNEL_SESSION_STARTED

  • If a voice session starts:

    • The agent SLA will be stopped.

  • If a non voice session starts, timer will be started for current session if no voice session exists in the conversation. (It is starting the SLA for all channels ATM)

  • If a voice session starts:

    • The SLA for this session will be started

    • the SLA for non-voice session will be stopped if running.

TASK_ENQUEUED

  • SLA will be stopped for the channel on which TASK_ENQUEUED is received.

    • (SLA is getting stopped on every TASK_STATE_CHANGED event ATM )

AGENT_SUBSCRIBE

  • If a PRIMARY participant exist in the conversation:

    • The SLA timer will reset for all agents in the conversation.

  • If no PRIMARY participant exist in the conversation:

    • The SLA will be started.

  • If the session is not of voice type on which AGENT_SUBSCRIBED is received:

    • SLA timer will be stopped.

AGENT_UNSUBSCRIBE

  • If no agent participant left in the conversation

    • Stop the SLA timer.

  • If agent unsub reason is not DIRECT_TRANSFER & If customer exists in the conversation & no agent participant exist in the conversation:

    • Start the SLA timer. (Scenario: on TASK_STATE_CHANGED the SLA gets stopped)

CHANNEL_SESSION_ENDED

  • If no customer exists in the conversation, and there exist an agent, then stop the SLA timer. (Invoked by CM)

  • Stop the SLA for current channel session.

  • If the closed session is of voice type and non-voice session(s) exist in the conversation, start the SLA for all non-voice sessions.

    (Scenario: on TASK_STATE_CHANGED the SLA gets stopped ATM)

AGENT_MESSAGE

  • If agent message is other than WRAP_UP

    • stop the SLA timer.

  • If a voice session does not exist in this conversation:

    • Start the SLA timer for all the channels in the conversation.

CUSTOMER_MESSAGE

  • If an agent exists in the conversation & the conversation is not ON_HOLD

    • start the SLA timer.

  • Start the SLA timer for all channels other then the current session if the conversation is not ON_HOLD.

BOT_MESSAGE

  • If the conversation is not ON_HOLD, start the SLA timer.

CONVERSATION_PAUSED

  • Stop the SLA timer for all the sessions in the conversation.

NO_AGENT_AVAILABLE

  • Start the SLA timer of the latest channel session

PARTICIPANT_ROLE_CHANGED

  • If all agents are in WRAP_UP:

    • Stop the SLA timer.

Cases:

  1. A web chat starts with a single agent

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

  1. A web chat starts (No agent is available in the system)

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. RE publishes NO_AGENT_AVAILABLE

      1. Conversation Monitor will start the customer SLA timer.

  1. A web chat starts and Agent transfers the

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Agent transfers the chat.

      1. AGENT_UNSUB is published in the system.

        1. Conversation Monitor stop the Agent SLA timer.

      2. An Agent gets reserved and joins the conversation

        1. AGENT_SUB will be published in the system.

          1. Conversation Monitor will start the agent SLA timer.

  1. A web chat starts and Agent transfers the chat (No agent available for transfer request)

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Agent transfers the chat.

      1. AGENT_UNSUB is published in the system.

        1. Conversation Monitor stop the Agent SLA timer.

      2. RE will publish NO_AGENT_AVAILABLE on TTL expiry.

        1. Conversation Monitor will start the customer SLA.

  1. A web chat starts and Agent joins, and then agent leaves the conversation (WRAP_UP disabled)

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Agent leaves the conversation

      1. AGENT_UNSUB will be published in the system by Agent Manager.

        1. Conversation Monitor will start the customer SLA timer.

        2. TASK_STATE_CHANGED with media state “CLOSED“ will be published.

          1. Conversation Monitor should not stop the customer SLA.

  1. A web chat starts and Agent joins, and then agent leaves the conversation (WRAP_UP enabled)

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Agent leaves the conversation

      1. TASK_STATE_CHANGED with state “WRAP_UP“ will be published.

      2. PARTICIPANT_ROLE_CHANGED is published.

        1. Conversation Monitor will stop the Agent SLA timer.

      3. Customer session will be removed by controller, and once agent gives wrap_up, agent will be removed and conversation will be closed.

  1. A web chat starts and Agent joins, and then customer starts another non-voice session.

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Customer joins from whatsapp.

      1. CHANNEL_SESSION_STARTED will be published.

        1. Conversation Monitor should start the customer SLA of the current session only (It is starting the SLA for all channels ATM)

  2. A web chat starts and Agent joins, and then customer starts voice session.

    1. CHANNEL_SESSION_STARTED will be published.

      1. Conversation Monitor will start the customer SLA.

    2. BOT sends a response

      1. Customer SLA timer is already running, nothing will happen here.

    3. Customer sends a message

      1. Conversation Monitor will stop the Customer SLA.

    4. Customer requests for an Agent

      1. RE will publish TASK_STATE_CHANGED with media state “QUEUED“.

      2. Conversation Monitor will stop the customer SLA timer.

    5. Agent gets RESERVED and the agent joins the conversation:

      1. Conversation Monitor will start the Agent SLA timer.

      2. Conversation Monitor will stop the Customer SLA timer.

    6. Customer initiates a voice session

      1. CHANNEL_SESSION_STARTED will be published in the system

        1. Conversation Monitor will stop the running Agent SLA timer.

        2. Conversation Monitor will start the voice session SLA.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.