Ever wonder how to upload your contacts into Ytel, create a workflow, and enroll those contacts into that workflow? Well, wonder no more. In this article, we are going to take you from uploading your contacts, creating your workflow, and enrolling your contacts into your newly created workflow.
Topics Covered in this Article:
- What is a Contact?
- Importing Contacts
- Creating a Workflow
- Enrolling your contacts into your Workflow
- Ending Credits
- Potential Workflow Ideas
What is a Contact?
Let's first talk a little bit about what a "Contact" in Ytel is and what you can use them for. In the broad sense, a "Contact" houses the information of a customer or lead. The only required piece of information is the contact's phone number. Other than that you can include other pieces of information such as their name, address, email address, etc... It is also possible to create any custom field you wish that can be used later within your workflow. Being able to create your own custom fields opens up huge flexibility for how you might use the system for your business.
Ytel provides some "standard" fields or "attributes" you can use to associate with your Contacts. It is also entirely possible to create custom attributes. In this article, we will be using the "standard" fields.
Standard Contact attributes:
- phonenumber1 (required)
Adding Contacts into Ytel
Adding contacts into Ytel can be done in one of three ways, manually add an individual contact through the User Interface, importing a CSV with multiple contacts through the User Interface, or directly through our APIs.
In this article, we are going to be specifically focusing on importing multiple contacts from a CSV file.
Before getting started, let's make sure your CSV file is in the correct format.
- The CSV file needs a top row of headers corresponding to the properties for each contact.
- At a minimum, the Contact must contain the
phonenumber1property for the contact to be valid.
- All phone numbers must be formatted in E.164 format (+1XXXXXXXXXX).
- If included, the
state1the field needs to use 2 digit state codes to be valid.
Need an Example? Download CSV example
STEP 1: Navigate to the "Contacts" section within your app.ytel.com platform and press the "import" button.
STEP 2: Click the "Import" button and select your CSV file that houses the data you will be uploading. Select the appropriate option on how to handle a situation if a contact already exists. In our case, we will be using APPEND since we currently do not have any existing contacts. Press "Upload" to start the upload process.
Creating a Workflow
Before we create a new workflow, we will need to first create a number set or use an existing number set that will be used for our workflow. See the article "How to create a number set" (Coming Soon) for more details.
When creating a workflow, it is oftentimes helpful to first think about what we are trying to accomplish.
- Are we simply sending out an SMS reminder to my contacts?
- Am I trying to trigger a response or call to action from the customer?
- What happens if they reply back to the text message?
- Are we going to be editing their contact information based on their responses?
- Do I want to trigger any 3rd party APIs such as a CRM?
In our case, we will be creating a workflow letting our customers know that our Barbershop is open for business and we want to provide them with the ability to reply back to the message in order to schedule an appointment or find out more details on our safety protocols as we open up our business.
Let's start by creating our "templates". Templates will be the initial message we will be sending out as well as the messages we will be sending out based on the customer's responses.
We are going to create 4 unique templates(messages)...
- The initial message letting them know we are Open
- The message that will be sent if they are interested in scheduling an appointment
- The message they will receive once their appointment is confirmed
- The message they will receive if they request more information about our safety features.
Within the "Workflow" section, at the top, we will click the "Templates" menu and then click on the "Create Template" button at the top right. From here we will be created a title for our template and then the actual message we will be sending.
Once you are happy with your message, go ahead and click the "save" button. We will repeat these steps for all of our messages.
Important: SMS message, meaning you will be limited to 160 characters or 70 characters per message (see the following article for more details on message limits).
With our templates created, we can now work on creating the Workflow that we will be using to send out our messages.
STEP 1: Within the "Workflow APP" at the top, you will see the "Workflow" menu option. Go ahead and click on this option and select "Create Workflow". The default option will be "Advanced" which is what we will be using.
STEP 2: Enter the Name of the workflow in the title and select the number set we will be using for this particular workflow. For the Timezone Protection, this option is used to ensure the message is only sent to your contacts if it is between a specific time frame. This helps ensure messages are not sent late in the night or early in the morning. You can either set a specific time frame based on a specific time zone or you can set the time zone based on the customer's location. In our case, we will base the time zone of the contact.
We now have our first "node", but until we create another "node" our workflow does not really do anything.
before we move onto the next step...
As we go through creating our workflow, we will be creating what is oftentimes referred to as "nodes". Each "node" is the next step in our workflow to tell the system what you want to happen. Some "nodes" simply process a request right away (such as sending out an SMS), while other "nodes" await for an event to occur before it continues (such as waiting for a reply SMS back from the customer). Check out the "Workflow" article for more details on the different "nodes".
In this article, we will be using the "Send SMS" node to send messages, the "Event" node which will trigger the next SMS based on the customer's replay, and the "Stop" node which helps signify when we have reached the end of the workflow branch.
...on to the next step...
STEP 3: Click on the "+" symbol on our first node and select the "Send SMS" node. We are looking to immediately send out our "Open for Business" message as soon as a contact is enrolled in this workflow.
Next, we are going to create an Event node that will be used to wait for a reply with either the word "APP" to schedule an appointment or the word "SAFETY" to learn more about our safety measures.
STEP 4: Click on the "+" icon for the SMS node we just created and select "Event".
STEP 5: Click on the "+" icon on the Event node we just created and create a new SMS node for our "Appointment" message. Repeat this step for the "Safety" message as well.
STEP 6: Click on the "+" icon on the Event node one more time to create a "Stop" node. Our workflow should now look something like this...
STEP 7: Click back to the "Event" node and let's set up the triggers on when to send the Appointment message and when to send the Safety message and when to simply stop the entire workflow if the customer never replies back.
We will be creating two different conditions. Condition #1 will trigger the Appointment SMS node we set up earlier and Condition #2 will trigger the Safety SMS node. These conditions will be specifically listening to a certain keyword reply. Although I am putting the keyword in all caps, it is case insensitive. So the customer can trigger the next event whether they reply with App or APP or ApP.
In order to listen for a specific reply, we will need to add the following into the first field...
nodeX.reply where X is the "node ID". Node ID's can be located at the top left corner of your nodes.
In this case, my SMS node ID is 1, so I will be adding node1.reply for both of my conditions. I will also be selecting "equals" from the drop-down menu and putting in the keyword. This means it needs an exact match. I will then click the "Add condition" and set up the #2 condition in the same fashion with the exception of looking for the word "SAFETY". In each Condition, you will also be selecting the "Path" or next action to take if the condition is met. In this case, we are selecting the appropriate send SMS node that we created earlier.
The final setup will be the "Event timeout". This is used to determine how long it should wait before another action should be taken. In this case, I set the "Event Timeout" to "remove" a contact from this workflow, if after waiting 2 hours from the time the contact was enrolled into this workflow until another action is performed. In this case, we created a Stop node earlier that we will use to send the contact to if they have not replied back within 2 hours.
STEP 8: At this point, we are going to recreate the steps we have already taken to create the follow-up SMS when the customer replies to our "Schedule Appointment" message.
This means you will be creating another Event node to listen for the reply from the Appointment SMS and another Send SMS node to send out the SMS when they schedule their appointment.
Once completed, the workflow might look something like this...
Enrolling your contacts into your Workflow
If you made it this far, congratulations! We covered a lot of information, but once you create a couple of workflows it will become second nature.
Now that we have our Contacts imported and our Workflow created, all we need to do is "enroll" our contacts into this workflow.
STEP 1: Navigate back to the "Contacts" APP.
STEP 2: Search for all of the contacts you wish to enroll in the workflow and check the box at the top to select all of those contacts.
After selecting all of the contacts you will now see an option which states "Start Workflow". Click this button, which will open up a new menu where you will select your workflow from the drop-down menu and then press the "Start" button to start the process.
Note: The max contacts displayed is 10,000 for the page. If your search filter produces more than 10,000 contacts, simply check all contacts shown then click on "enroll".
That is it. The Workflow will start to send out the SMS one at a time to the contacts you selected.
A few important things to keep in mind:
- The Triggers happen 1 at a time. Meaning it will send the SMS out to the first contact, then the second contact, etc... (They are not sent in "parallel" to each other).
- Depending on the number of contacts you are sending out, it is possible to reach your API "rate limit". If you are looking to create a workflow (whether it is used to send out SMS or edit a contact or trigger another API) and you are potentially sending it to a large number of contacts it might be best to reach out to our support team to ensure you won't be running into any rate limits.
- The max contacts displayed is 10,000 for the page. If your search filter produces more than 10,000 contacts, simply check all contacts shown then click on "enroll". Then during the "Start Workflow" process you will see the option to "select all contacts that meet your filtered criteria".
Congratulations! You just created your first workflow. This was only a basic example of what you can accomplish. There is so much more you can do with Contacts and Workflows.
And Remember, today we used the User Interface to create the Contacts, create the Workflow, and enroll our contacts. All of these actions can be created using our APIs. This means you can easily add these features or triggers into a CRM or any custom project that you might be working on. Thank you for taking the time to read through this article.
Stay tuned for the next one!
Need some inspiration? Here are some potential Workflow ideas:
- Send out SMS reminder of upcoming events to your contacts
- Trigger workflow based on inbound Keywords
- Trigger an outbound call based on specific inbound Keywords
- Schedule Appointments
- Trigger 3rd party APIs based on customer responses
- Use the Percent Node to do A/B testing in order to see which message provides the best response