Outbound Hub List Management
Outbound Hubs require contact lists to process interactions, which must be uploaded through the Hub dashboard. We'll show you how to do it!
What will you find in this guide?
Below, we show you what you will learn in this guide.
How to upload a list?
Next, we will show you the steps to upload a list to an Outbound Hub.
- In the Statistics menu, go to Outbound Hubs. Here, select the Hub from the list to which you want to upload a list for processing.
- Once inside the Hub dashboard, click the Upload button.
Once you click the button, a pop-up will appear with the list upload system. Below we show you how to build the list.
What fields should be included in the list?
The available fields vary depending on the Hub's channel. Below you will find the mandatory and optional fields for each one, along with recommendations for building the file correctly.
File format and structure
The file can be in XLSX, ODS, CSV, or TXT format, and must not exceed 50 MB.
Some recommendations for building the list:
- One row per contact. Each row represents a contact to process.
- One column per field. Each column must contain a single type of data (e.g., the phone number in one column and the name in another).
- Headers are optional but recommended. You can include a header row with the name of each column. This makes the Match step easier, where you associate each column with the corresponding system field.
- Only mandatory fields are required. Optional fields can be omitted if not needed.
- Text fields with commas must be quoted if using CSV format. For example:
"Smith, John".
Structure example
| phone | timezone | priority |
|---|---|---|
| 59891234567 | America/Montevideo | 1 |
| 5491187654321 | America/Buenos_Aires | 2 |
Lists for Telephony Hubs
For these lists, the only mandatory field is the phone number to call.
- Numbers (*): you must include at least one number to call. You can include multiple numbers for the same contact — the system will try them in order, moving to the next one when all attempts on the previous number are exhausted.
- Parameters: custom key-value parameters (e.g.,
{"name": "John", "product": "X"}). These values can be used in forms. - Time zone: custom time zone for the contact, in standard
Continent/Cityformat (e.g.,America/Montevideo,America/Buenos_Aires,Europe/Madrid). If not included, the campaign's time zone will be used. - Priority: number that defines the processing order of the contact within the list. Contacts with a lower number are processed first. If not included, the default value is
0. Not sure what contact priority is? Check this guide - Contact ID: external identifier for the contact (e.g., the ID in your CRM). It is optional and used to link the interaction with external systems or forms.
- Agent's phone: exclusive to Preview Hubs. Enter the phone number of the user you want to assign the interaction to. The user must be a member of the campaign; if not, the list will return an error when uploaded. If left empty, the interaction is assigned to the first available user.
Lists for Email Hubs
For these lists, the only mandatory field is the customer's email address.
- Email (*): email address of the recipient.
- Subject: subject of the email. If left empty, the subject configured in the Hub will be used. Supports variables using the
${variable}syntax, which are replaced with the values from the Parameters field. - Parameters: custom key-value parameters (e.g.,
{"name": "John", "product": "X"}). These values are used to substitute variables in both the subject and the email content using the${name}syntax. - Content: body of the email in HTML or plain text format. If left empty, the content of the template configured in the Hub will be used. If content is specified in the list, it takes priority over the template. Also supports variables using the
${variable}syntax. - Template: name of an existing template in the system. If specified, it must exist in the system (either a global template or a campaign-specific one); otherwise, the list will return an error when uploaded. If left empty, the template configured in the Hub will be used. If content is also provided in the list, the content takes priority over the template.
- Time zone: custom time zone for the contact, in standard
Continent/Cityformat (e.g.,America/Montevideo,America/Buenos_Aires,Europe/Madrid). If not included, the campaign's time zone will be used. - Priority: number that defines the processing order of the contact within the list. Contacts with a lower number are processed first. If not included, the default value is
0. Not sure what contact priority is? Check this guide - Contact ID: external identifier for the contact (e.g., the ID in your CRM). It is optional and used to link the interaction with external systems or forms.
- Attachments: files to send along with the email. You must upload the files first from the Hub dashboard and then include the copied path in this column. Learn more about attachments in this guide
How to upload an attachment?
If you want to send attachments with emails, you can upload them from the Hub dashboard. Here's how!
- To upload the attachment, first access the Hub dashboard.
- Once there, click the Upload Attachments button. Here you can select the file from your computer or drag and drop it.
- The file will be uploaded automatically and will be available for sending.
- To send it to contacts in the list, click the three dots and then Copy.
Then, in the list, add a column with the path you just copied for the contacts you want to send the attachment to.
Lists for SMS Hubs
- Numbers (*): phone number of the recipient the message will be sent to.
- Parameters: custom key-value parameters (e.g.,
{"name": "John", "product": "X"}). These values are used to substitute variables in the message content using the${name}syntax. - Content: message to be sent to the contact. If specified, it takes priority over any template (both the list template and the Hub template). Supports variables using the
${variable}syntax replaced with values from the Parameters field. - Template: name of an existing template in the system. Used when no content is provided in the list. If specified, it must exist in the system (either a global template or a campaign-specific one); otherwise, the list will return an error when uploaded. If no template is specified either, the first template configured in the Hub will be used.
- Time zone: custom time zone for the contact, in standard
Continent/Cityformat (e.g.,America/Montevideo,America/Buenos_Aires,Europe/Madrid). If not included, the campaign's time zone will be used. - Priority: number that defines the processing order of the contact within the list. Contacts with a lower number are processed first. If not included, the default value is
0. Not sure what contact priority is? Check this guide - Contact ID: external identifier for the contact (e.g., the ID in your CRM). It is optional and used to link the interaction with external systems or forms.
Lists for WhatsApp Hubs
WhatsApp Hubs use HSM templates — pre-approved message formats from Meta. The template is selected during the upload wizard (not specified in the file), and its variables define the additional columns you must include in the list.
- Number (*): contact's phone number in international format, without the
+symbol, spaces, or dashes. For example:5491176543210. - Template variables: one column per variable in the HSM template. If the template has two variables (e.g.,
nameandorder number), the list must have two columns, one for each value. Column names are free — you map them in the Match step. - Time zone: custom time zone for the contact, in standard
Continent/Cityformat (e.g.,America/Montevideo,America/Buenos_Aires,Europe/Madrid). If not included, the campaign's time zone will be used. - Priority: number that defines the processing order of the contact within the list. Contacts with a lower number are processed first. If not included, the default value is
0. Not sure what contact priority is? Check this guide - Contact ID: external identifier for the contact (e.g., the ID in your CRM). It is optional and used to link the interaction with external systems or forms.
File structure
Each HSM template variable occupies its own column. For example, if the template says "Hello 1, your appointment is on 2", the list must have one column for variable 1 and another for 2. Column names are free — you map them to each variable in the Match step.
It is not possible to define a different template for each contact. Each list has a single associated HSM template, chosen in step 2 of the upload wizard.
Don't know how to build the list?
Download the example file to see the expected structure with sample data, including the required columns and example rows you can use as a reference when building your own list.
Each column has a built-in comment with instructions on what value is expected and the applicable restrictions. Open the file in Excel or Google Sheets and hover over each header to see them.
Uploading the List
Now that your list is ready, it's time to upload it so the Hub can create interactions. Here's how!
Step 1: Upload File
First, upload a file from your computer or drag it into the window. The list can be an XLSX, ODS, CSV, or TXT file, and must not exceed 50 MB.
If you included headers in your file, remember to check the Include headers option in the Match step so the system recognizes them.
- Horizontal processing: if you enable this option, the system prioritizes recontacting as soon as possible the records that have already had previous attempts. This way, if a contact doesn't answer and returns to the list, they will be contacted again within a short time interval, aiming to complete each contact before moving on to new records.
Step 2: Select HSM Template WhatsApp Only
This step only appears in WhatsApp Hubs. For Telephony, Email, and SMS the wizard goes directly from "Upload file" to "Match".
Select the HSM template to be used for all contacts in this list. Only templates approved by Meta and enabled in uContact for the Outbound Hub's campaign will appear. If the Hub already has a template configured, you can choose a different one for this list — the one selected here takes priority.
Step 3: Match Step 2 in other channels
Match the columns in your file with the system fields. If you added headers to your list, check the Include headers option.
On the left, the first row of the file appears; on the right, the available fields to associate. If a field does not correspond to any column, select Skip this column.
If there is an error in any record, it will appear after clicking Continue with the exact line of the problem. In most cases, it is a phone number format error.
WhatsApp Hubs
The variables of the HSM template selected in the previous step appear pre-loaded. You must associate each variable to the corresponding column in your file before you can proceed.
Each variable has an identifier that indicates where it comes from within the template:
body.N— variable number N of the message body.buttons.N— variable of button number N (for example, a dynamic coupon code).
Example: imagine a template with this content:
Hello 1, visit our site to see our offers. We're giving you a code for your first purchase. [ SHOP ] [ COPY OFFER CODE ]
In this case, the template has two variables:
body.1→ the contact's name (variable1in the body).buttons.2→ the discount code copied when pressing the button (button number 2).
The list must have one column for each, for example name and offer_code, and in the Match step you map them to body.1 and buttons.2 respectively.
Step 4: Summary Step 3 in other channels
Finally, you can view a summary with the selected columns and the list information associated with each one. If any column is missing or incorrect, you can go back and correct it.
List States
Hub lists can have 3 different possible states.
After uploading the list
Once you upload the list, it will not start processing automatically — you need to make some adjustments first. Ready? Let's go!
Activate the list
Once you upload the list, the first thing you need to do is activate it. To do this, click on the three dots on the list and then select the Activate option.
Depending on the number of records in the list, activation may take a few seconds. Once the list is successfully activated, it will show a green status.
Assign a priority
When the list is activated, you can assign it a priority so it can start processing. To do this, click the List priority button located in the lower right corner.
Here you will see the list of active lists, along with their priority. Remember that the sum of all list priorities must equal 100%.
Priority adjustment
To help you distribute priorities quickly, you have three options that adjust them automatically:
Normalize
If the current priorities exceed 100%, click Normalize to have the system adjust them proportionally to exactly 100%. The relative percentages between lists are maintained. For example, if the lists add up to 230%, each one will be reduced proportionally until the total is 100%.
Equalize
Assigns the same priority percentage to all lists. For example, if you have 4 lists, each one will receive 25%.
Ponderize
Assigns each list a priority percentage proportional to its number of records, so that all lists finish processing at the same time. For example, if you have three lists with 1000, 500, and 250 records, they will be assigned 57%, 29%, and 14% respectively.
In the chart, you can see a more visual representation of the priority distribution of the lists. If you want to learn more about list priority, you can visit the following guide.
Turn on the Hub
Finally, if the Hub is not turned on, you can turn it on by clicking the Start button located in the upper right corner.
Remember to verify that the Hub is within schedule — you can check this by looking at the calendar color or in the Hub configuration. For example:
How to recycle a list?
To recycle a list, click the Recycle list button. A panel will open with the following steps:
Select the period: choose the date range during which the list was processed. The period must include the date on which the list finished processing.
Select the list: once the period is defined, the list selector will show all lists processed within that time range. Choose the one you want to recycle.
Select the dispositions: in the Result section, select the disposition or dispositions you want to include in the recycling. A new list will be generated with the records that have any of the selected dispositions. For example, if you want to recycle all calls where the customer did not answer, select the No Answer disposition.
You can also enable the horizontal processing option, which makes the dialer prioritize contacts that have already been called, completing each contact as soon as possible before moving on to the next.
When everything is ready, click Recycle. Depending on the number of records, processing may take a few minutes. Once finished, a new list will be added to the table in a disabled state with priority 0, ready for you to enable whenever you wish.
