Outbound lists

Outbound campaigns are used to make multiple calls based on a pre-defined list of numbers. In this article, you will learn how to create campaigns, link to a scenario, populate data, manage and track progress.

See also

This article describes outbound lists, also referred to as call campaigns. You might be looking for campaigns or bulk messages related to messages as described elsewhere.

Outbound campaigns are used to create planned project calls in bulk, which will be distributed to agents like any other call (i.e. they must have adequate proficiency, etc.).

Important features of your campaigns include:

  • Campaigns represent a prescription for calls within a selected project.

  • You can use the campaign status to pause the campaign when, for example, agents have too much of other workload. When they have more available capacity, you can run it again.

  • You can set parameters such as the maximum number of repetitions, after what time a call should be repeated when not revoked, busy and so on.

  • If you associate a campaign with a scenario, a form from the scenario will be displayed to the agent during the call with questions that they should ask the caller. Thus, the agent will not forget to ask anything important, and you can then further process the collected results.

  • You usually import calls to a campaign from a CSV file, but you can also get them there using different methods, such as via an API call from an external system, from an IVR step, etc.

  • When importing a CSV file, you can pre-populate some responses to the scenario. The agent can thus confirm with the caller that the information such as the address is still valid and so on.

  • You can track how many calls remain to be processed and download the call results as a CSV file for further processing.

  • Quotas can automatically end your campaign. For example, during a survey you can set a quota indicating that once you have called at least 75% of men of working age, the campaign can end.

Visual outbound campaign editor

The creation, management of and imports into a campaign is done in a specialized visual editor. The editor is similar in appearance and control to other tools such as Caches or Message campaigns, which are usually inaccessible to common agents. Campaign calls are regular calls, so agents do not need any special permissions.

If ReactClient is deployed as /ReactClient, then its URL is protocol://server/ReactClient/Pages/OutboundListAdmin.html.

In newer editions of FrontStage, the VEO is a part of the installation; therefore, you do not need to do anything but configure it.

When updating an existing installation and/or configuring a new installation, do not forget to

Creating and managing a campaign

The steps are outlined below, but the most common procedure how to create and manage your outbound campaigns is as follows:

  1. Is the purpose of the campaign a one-time (e.g. “insurance special for March”) or an ongoing matter (e.g. “verification of client contact details”)? For a one-time matter, it is better to create a new campaign. For ongoing matters, you should rather import additional calls into an existing campaign.

  2. When creating a campaign, the most important thing is to choose a project that is handled by suitably qualified agents.

  3. If you want agents to collect results, create/apply a scenario and link it to your campaign.

  4. Prepare a CSV file with scheduled calls and import it.

  5. Start your campaign, start executing imported calls, and track the progress.


To create a new campaign using VEO:

  1. When the VEO is open, click on Create an outbound list.

  2. Enter a name of the campaign, a project under which calls will be created, and the maximum number of attempts before rescheduled calls fail.

  3. On the Detail vertical tab, enter the detailed campaign information.

  4. Save changes by clicking on Save changes.

  5. Import the recipients whom you want to call.

  6. Start campaign.

When you use a field for rescheduling when busy/not answering/failed/wrong person reached, etc., and a maximum number of attempts, FrontStage automatically reschedules the next call, with the failed attempt being removed from the queue and replaced with a new scheduled call instead so that the statistics show matching numbers of calls scheduled in the campaign and calls actually made.

The maximum number of attempts set, for example, to four means that if a call is finished before the fourth attempt, the system does not reschedule any other calls.


You can search among the campaigns displayed by name, state or project.

The name occurrence is searched anywhere and it is not case sensitive. The search does not support wildcards. For example, when searching for “ma”, you will see campaigns named “Manual”, “manual” (the initial letter matches), “Semanuel”, “SeManuel” (a middle match), “Chroma”, “chroma” (end match).

The state and project are simple drop-down lists.



  1. Select a campaign.

  2. Edit the form with campaign details.

  3. Save using the Save changes button. The number on the save button indicates the number of changed campaigns that will be saved when pressed.


There are two ways to delete campaigns that you no longer need:

  • Delete the currently selected entry by pressing Delete outbound lists.

  • To delete multiple entries, first select them by checking the boxes on the left in front of the name in the list and then press Delete outbound lists.


Deleting removes all calls in the Prepared or Paused state from the database, those not executed in the Scheduled state will be marked as Cancelled.

Creating a CSV file for import

The most common and easiest way (though not the only) to schedule calls for a campaign is to import them using a CSV file.

Preparing a suitable CSV file means that you need to know what you want to import. The following section describes the columns that may appear in the CSV file. You can find columns from the basic category in each CSV. Optionally, you can add more recognized columns. If you link a campaign to a scenario and want to pre-populate some (or all) of the responses from the imported data, the additional columns will match the elements of that scenario.


Basic columns




Telephone number.

  • Required.

  • The number must be in the national format of 0<number> (e.g. 0777123456) or international format as 00<prefix> <number> (e.g. 00420777123456). Other formats such as 123-456-789 or +420 777123456 will cause the import to fail!


Any text associated with the called party, such as their name. It is used as the call name.

  • Required.

  • Maximum 50 characters long


A point of time before which the call should not be made.

  • Optional.

  • Use the YYYY-MM-DD HH:MM format (e.g. 2020-02-19 15: 31).


One-time or repeated call scheduling.

  • Optional. If specified, then the TimeFrom and TimeTo columns are required.

If the call should only be scheduled once, enter NULL. Other available values determine the repetition rate:

  • DayInYear (yearly) – Repeats annually from TimeFrom to TimeTo (the year is ignored).

  • DayInWeek (weekly) – Repeats weekly. TimeFrom will use the first valid day of the week, TimeFrom will use the last day of the week. All such from-to days may be only in the interval from TimeFrom to TimeTo.

  • NotDayInWeek (Inverse weekly) – Interprets TimeFrom and TimeTo as DayInWeek but inverted (where DayInWeek applies, NotDayInWeek) does not apply.

  • SingleDay – A one-time period from TimeFrom to `` TimeTo`` including time and year.


Start of the time window from when calls will be scheduled.

  • Required when the TimeMode column is used.

  • Use the YYYY-MM-DD HH:MM format (e.g. 2020-02-19 15: 31).


End of call scheduling time window.

  • Required when the TimeMode column is used.

  • Use the YYYY-MM-DD HH:MM format (e.g. 2020-02-19 15: 31).

Remaining recognized columns




A sequence number for call distribution in this order.

  • Optional.


Indicates a degree or level of required project skills of the agent.

  • Optional.

  • The value range is 0-100.


An ID of the language to be preset for the call.

  • Optional.


The ISO language code, an alternative to LanguageId. If both are specified, then LanguageId takes precedence.

  • Optional.


The required language proficiency of the agent.

  • Optional.

  • The value range is 0-100.


Call priority (influences the distribution order).

  • Optional.


An ID of the FrontStage contact to which the call should be assigned. An invalid ID will not cause the import to fail, but the imported call contact will be empty.

  • Optional.


An external contact key, an alternative entry instead of ContactId. If both are specified, ContactId takes precedence.

  • Optional.


An integer (int) to indicate a call.

  • Optional.


An ID of the agent who will be marked as the preferred agent for the call. If you check Direct selection during import, the call will be flagged with direct dialing to this agent.

  • Optional.


The agent login (typically in the form domainname); an alternative entry to AgentId. If both are specified, AgentId takes precedence.

  • Optional.


An external key of the message.

  • Optional.

Columns for scenario fulfillment

If you associate a campaign with a scenario and want to pre-populate the results with the imported data, the additional columns will match the scenario elements. The pre-prepared responses are usually validated by the customer and appear as ScenarioResultValue results after the import.


The column name and its order in the CSV file must be exactly the same as Target column and Rank in the list of elements on the screen.

Example: If the scenario screen has the following elements:


Then in the CSV file you may see one or more columns named MainReservationNumber, MainAmount, MainType, MainDelivery, MainAddress, MainNote, MainOther, MainOtherText.

However, their order in the on-screen list cannot remain the same because the order would not match the Rank and the column order in the CSV import.

For example, if you only used Number from the basic columns, none of the other columns, and you want to pre-fill the values just for MailReservationNumber and MainAmount from the on-screen elements, you must modify their Rank as follows:

  • Change MailReservationNumber from 20 to 3

  • Change MainAmount from 30 on 4

The resulting CSV file would then look like this:


The value of the column in the CSV file becomes the default response of the element. For elements of the DropDown type, the value in the column must match Value (number) of the list value.


After a successful import, the default responses become values in ScenarioResultvalue.

Importing a CSV file

The import itself is simple, but there are a few things to watch out for:

  • Columns – Use the options as described above.

  • Suffix – You need to use .csv.

  • Encoding and separator – When importing, select the same encoding page and separator that you used when creating the file.

If you met the conditions, you can perform the import:

  1. In FrontStage administration in the Outbound calls ‣ Outbound lists ‣ Outbound list imports section, fill in the form as follows:



    Outbound campaign

    Select the appropriate outbound campaign. If you landed on the form from a campaign, it is pre-selected.


    Select the same separator character that you used when creating the CSV file.


    Select the same encoding you used when creating the CSV file.


    To associate an import with a scenario, select it from the Scenario drop-down list. Otherwise, select (None) from the drop-down list.

    Calendar mode, From, :guilabel: To

    These fields are only used when there are no TimeMode, TimeTo and TimeFrom columns in the CSV file.

    Direct selection

    If the import contains the AgentId or SystemName columns, they will be selected as direct agent selection.

    Import only as ready

    Check this box if you do not want the calls to be distributed but wait for the New phase.

  2. Select the file on your computer using the Browse… button.

  3. Click on the Import button to start the import.

Starting and stopping a campaign

In order to distribute outbound campaign calls, agents must be available in the project defined for the campaign, especially those with the appropriate level of proficiency required in the campaign project and outbound call channel:


Check also their skill levels; they need to be logged in as ready to receive calls etc.

At startup, calls switch to the Scheduled state.

To actually start your campaign, perform the following steps:

  1. Select a campaign from the list.

  2. On the Detail vertical tab, set the campaign state to Running.

  3. Go to the Outbound List imports vertical tab and select importing from the list that you want to use to make calls.

  4. Press Start calling (or Stop calling to stop).

  5. Call distribution will begin.

Exporting calls and replies

For each call import, you can request the export of calls and form results (scenario values).

  1. Select a campaign from the list.

  2. On the Outbound List imports vertical tab, select importing from the list that you wish to export.

  3. Press Export.

  4. Check the columns that you want to export.

    The available columns are divided into two parts:

    Use the Export finished radio button to choose whether only completed calls should be exported.

  5. To start the export, press Export all (from the last export location, it continues) or Export from beginning (everything from the beginning).

  6. The export runs in the background. You will see the progress in the same dialog. There may be more exports shown here. You can download the export that has already been completed. You can delete the export in any state.

  7. You can close the dialog with the button before the export is completed. You can check the processing status by calling up this dialog again.

Progress monitoring

You can see how many calls you still need to handle in the campaign in the Outbound calls ‣ Outbound lists administration section in the Calls to be processed field.

You can monitor the import status, the number of rows already imported, faulty rows (with error), and export the values of basic and other recognized columns to a CSV file in the import detail view.