CX Campaigns MVP 1 (Restricted)
CX Campaigns is a multi-channel campaign management solution. As a Campaign Designer, you can define a multi-step campaign strategy using Conversation Studio.
See the User Guide - CX Campaigns to learn more about creating campaigns, uploading contacts, and defining campaign strategies using Conversation Studio.
Following are some cases and the way they are being handled within this campaign system:
When contacts are uploaded, if some channel attribute for any new contact already exists in the system, then the new contact will be merged with the already existing one.
When contacts are updated, the node-red flow be executed only for the new contacts and not the already existing ones, even if they were updated.
The Node-RED flow will sync (contacts) whenever either the flow or contacts are updated or the campaign's state is switched to the publish state
Nothing will be scheduled if the campaign is in an unpublished state.
Ending a campaign will unschedule everything and an ended campaign cannot be published again.
Planned scope | Comments |
---|
As a Campaign Manager I would like to be able to do the following, Click on the "Create Campaign" button in the campaign list view. I am taken to a new view (Campaign Definition) where I am able to define the following fields/ settings for the campaign I am trying to create, Campaign Name: I am able to choose a name for the campaign. Campaign Description: I am able to describe the campaign. Campaign Execution Time (range): I am able to select a time range between two-time periods in a 24-hour clock. The system does give me an indication if the time range is invalid. Campaign Validity Period (datetime range): I am able to select a datetime range for when the campaign should start executing contacts and when to completely stop the execution. Note: At any given time, if the campaign is either unpublished/ ended or the validity period expires, no further execution of contacts should happen. Any contacts that are pending execution should be stopped with a flag/ status of validity-period-expired _(in the case of validity period expiry), campaign-ended, and _campaign-unpublished (in the case of unpublish/ paused). The Dialer in this case has the capability to either pause or completely remove the campaign. Something similar should be done for text messages as well. In case the campaign is published again (the campaign should be resumed) and in the case of validity period change on the campaign level, the remaining contacts that were not dialed out due to validity expiry should be re-sent to schedular as new contact request. Campaign Dialing Mode: It shows a checkbox dropdown of all the dialing modes available. One or more dialing modes can be selected/ allowed to be used in the campaign flows. For now, we only support Progressive. Specify Queue: It displays a dropdown of all the queues available and the user is able to select any (one). Note: Further discussion required for multiple queues and named agents.
| There is no view page initially. When the admin clicks on the "Create Campaign" button, a popup appears asking for the campaign title. After entering the campaign title, the campaign is created. To edit the campaign, I can either click on the "Edit" button, which takes me to the edit view, or click on the "View More" option in the popup shown during campaign creation.
Currently, our system supports the following fields: Missing fields that need to be added: We have to manually set the execution time of the campaign from the campaign studio. |
As a Campaign Manager I would like to have access to the following controls for each campaign shown in the list, Ability to change the status of a campaign. The buttons/ toggles for this purpose can have the following states, Publish (start) Unpublish (default state of a newly created/cloned campaign, this is the same as paused) End (after the campaign has been marked as ended, it cannot be started/restarted/published)
Hovering on the list of campaigns, I am able to Edit/Clone a campaign. Edit: It takes me to the detailed campaign edit view where I am able to change campaign settings, described in detail in the Create/ Define a Campaign section. Clone: It takes me to the campaign edit view for the newly cloned campaign. I am required to hit save; else any clone created will be lost.
| |
As a Campaign Manager, I am able to click on the "Add Contacts" button which opens up a dropdown or similar with two options. Upload CSV: This allows me to attach a CSV file of the contacts for the campaign. The CSV can either already have known column names for each campaign contacts required for channel type, user preferences, etc. or optionally, I am able to match columns available in my CSV file to those expected while adding the campaign contacts. Ideally, I would like to see the progress of the contacts being uploaded and optionally, can set it to run in the background. Also, good to have proper error/ success messages. Restful API: This allows me to view an automatically generated API endpoint with params/ keys already added which I can use to push contacts to the campaign.
Good to have: I can also clearly see all files I have uploaded with the number of contacts in each one (same for Restful API - one group). After the campaign contacts are loaded, I am ready to go to the Visual Flow Builder.
| Currently, our system supports uploading CSV files. |
As a Campaign Manager, when I click on the Campaigns tab in the Admin Panel, I am shown a list of all the campaigns. The campaigns have details on and can be sorted by,
Name ID Date created (default sort column, older first) Modified date No. of contacts Good to have: Optionally, Activity date/time
| Everything is implemented |
| Currently our system support |
Limitations:
On the Campaign List view duplicate campaign button is currently not implemented end-to-end.
On the Campaign configuration view the time zone feature is not functional because it is not supported.
On the Campaign configuration view delete field functionality is not working now
On Contact Source view (Upcoming: Import CX Customers)
On Contact Source view When you upload a file, its contacts and CSV sources are not loaded immediately. They are displayed upon clicking the refresh button
The server might crash if a CSV file containing a large number of contacts is uploaded or if the file format is incorrect.
The RESTful API section is currently not working on the Contact Source view.(disable for now)