Assisted Manual Outbound

Assisted Manual Outbound, shortened as AMO, is a simple way to manage list of calls to be processed manually by your agents.

AMO is distinct from, though in a sense complementary to, other kinds of manual outbound and recall memos.

  • Passive outbound: as tracked by Uniloader. An agent simply places an outbound call on her phone, and it is tracked as q-outbound. Nothing special happens with it.

  • Manual outbound: agent dials a number that she got from an external source (post-it, copy and paste from another aplication) She knows this is a work call for campaign Cars, she flags it as such on QM, so the supervisor can see her correct status on the RT page and it is tracked as a work activity

  • Recall memo: during a conversation, the agent schedules a recall for the next day. She puts the information she has on a recall memo so she can see it in her daily calendar for the next day, start the call in one click, know who/what it’s for, and not have to depend on her notes.

  • WombatDialer-based recall: if WombatDialer is present, it is possible to schedule a recall to be made at a specific date-time through WombatDialer. This works like a recall memo, but usually happens automatically.

  • WombatDialer-based preview dialing: agent uses WombatDialer to dial calls; by clicking on the right sub-page on QAP (the one with the WombatDialer icon), she accesses WombatDialer’s own preview dialing panel, sees the details of a call to be made and either accepts or refuses it.

  • Assisted manual outbound: agent just pulls the "next" call she has to make. The system knows on which campaigns she is supposed to be working, so gets her an available call. She can start the call in one click, see all relevant information (including previous call history), and can work on the call with the minimum number of clicks. She cannot choose which call to make, though it’s up to her to request for a new call or do something else. The call is started an logged with all relevant information, and can easily be connected to a CRM.

All outbound modes work with a physical phone, a soft-phone, or QueueMetrics' own WebRTC phone embbedded on the Agent page.

Assisted campaigns

Any campaign (that is, an outbound queue) can be used for AMO dialing. This is set in the configuration of the queue. So, when an agent is logged into one or more outbound queues that have been set for AMO, their outbound panel/phone shows an icon for "Next call".

This call will come randomly from any one relevant campaign that the agent is logged on to. It is possible that there are no next calls to be made, in which case a suitable message is displayed. The AMO button is always available to the agent, as numbers may be loaded dynamically to any existing campaign.

The mixer

Each assisted campaign has a "mixer", that is a set of call lists that are linked to it, a weight for each list, and a toggle to pause/restart each list. The next call is pulled from a list by choosing randomly from all available lists, based on their current weight.

By using the mixer, a supervisor can change the weight of a list during operation to prioritize certain calls over others.

The mixer marks the campaign as "completed" if all calls from active list are done, that is, pulling a number from it was impossible and all calls are fully processed (all calls have reached a final state, and no further recalls are pending). Completed campaigns are logged on the system log. A completed campaign will become open if:

  • a new list is added to it

  • new numbers are added to an active list

  • new numers are returned to an active list - e.g. agent reserved a numer, called it, but it needs to be recalled.

  • a paused call list in unpaused

Rescheduling

The campaign has fields for rescheduling failed calls; this specifies the minimum validity interval for next recall and whether the retry period is fixed, linear or exponential. It also specifies the set of outcomes that are accepted as a successful attempt. The outcome code "NONE" matches calls that have no outcome.

Rescheduling happens:

  • when a call has a final status, that is, an outcome is explicitly set for that call, so AMO can decide whether recalling is to be done or not

  • when a call status times out; for example when a number that was reserved has not been used in a few minutes, or after one hour a call has been made but not marked with an outcome. This means that when doing AMO, it is very important that agents enter an outcome for all calls, so that they are rescheduled quickly.

Attributes

Each assisted campaign also has a number of attributes that are taken from the call information and logged to the outbound call that was made, so that it is possible to "spot" it in reports. Usually only a subset of call attributes are actually logged to the queue_log - some are used only as context for the agent.

For example, a call list may include a case-id and a the first and the last name of the person so that the agent makes sure she’s talking to the right person, but only the case-id is actually sent to the queue_log so that it will be visible in reports as a variable.

In any case, for AMO calls, the attribute QM_NUMID is always saved. This makes it possible to spot AMO calls even when those calls are completed, and to link back to the call’s AMO history.

Call lists

Call lists are single-use, and are "consumed" as numbers are pulled from them. Each list has a name and belongs to one campaign.

Lists are fed:

  • manually: numbers are edoted through the AMO Numbers editor.

  • through a CSV: the AMO Lists editor allows uploading a complete CSV file, all at once..

  • from other lists on other campaigns

  • through API calls, as references on the JSON API manual.

As in WombatDialer, a list contains information for a call to be made, and for each number:

  • the number to be called

  • a validity date for the next recall - empty to imply any time is valid.

  • a set of attributes to be shown to the agent when dialing and possibly be logged

  • the recall history, taht is the list of previous attempts (who/when/uid/status)

A call’s lifecycle

  • Agent asks for a new call. By checking the AMO campaigns that they are logged on to, first a campaign and then a list is selected. The list’s weight gived the probability that a given list is chosen. If another agent asks for a call, the one that agent reserverd got won’t be available, even if she’s not started it yet.

  • When agent actually dials the call, she gets a screen showing all call details, including previous recalls, so she is ready for the callee picking up.

  • As soon as teh Agent’s page "spots" the call on the call list, the call is confirmed, and any required attributes are logged. Note that we have no way of kknowing the UID of a call before it is made.

  • When an agent enters an outcome for the call, it is checked about the campaign’s setting to decide whether the state is final or not.

AMO recalls

Failures and recalls

There is a background process that handles call time-outs. Agents may or may not enter an outcome for a call.

  • Call reserved: is recycled back in 5 minutes if it does not progress, does not increment attempt counter

  • Call dialed: goes to reschedule in 5 minutes - this means no logs were received, and should never happen

  • Call placed, no further information: Reschedule by reading property "amo.placedCallTimeout", default 3600 seconds.

  • Call has outcome:

    • Positive outcome: Call completed

    • Negative outcome: Reschedule if needed