Step 2: Create a Program

You've completed your 10DLC Registration and now you're ready to create your texting program! You can complete all of these steps at once or one at a time. To return to creating your program, Administration>Programs>Click the pencil icon next to the program name under "Actions".


Steps to Building a Texting Program:

Step One: Program Details (Overview)

  1. Click the "Administration" tab at the top
  2. Click "Programs"
  3. Click the "Add Program" button on the right side
  4. "Name" (required): enter the name of your program, make this recognizable so you can differentiate between programs.
    1. Example: "MT- Attorney General- GOTV - 11/3", End of Quarter Fundraising- "Chip in $3"- 12/31
  5. "Program Group" (required): Select the program group you want to use. If you haven't created any, select "Default Program Group".
  6. "10DLC Campaign" (required if you are doing 10DLC registered texting, contact support if you would like to send unregistered texts): Select the 10DLC Campaign you want to use for this texting program.
  7. "About this Program Content" (optional): This section is visible to texters. You can share information about the program. Many users use this section to share workflows, information about the candidate, interesting details texters may want to know, etc.
  8. "Timezone" (required): This is the timezone the texts are being sent in. This is the timezone the "start time" and "end time" are based on. It is important to set the correct timezone so texts aren't sent too early or too late in the day.
    1. Example: You may be in DC but the candidate you are sending texts for is in Montana. You will want to select "Mountain Time". If you set it as "Eastern Time" texters would be able to send texts at 7:00 am which would be too early for texts and would annoy voters.
  9. "Start Time" (required): This is the time texters will be able to start sending texts. The default is 9:00am. We do not recommend setting this time any earlier, you risk having your texts marked as spam. If a texter opens a program before this time, they will see that the program is in "Quiet Hours" and will not be able to send texts.
  10. "End Time" (required): This is the time texters will no longer be able to send texts. The default is 9:00pm. We do not recommend setting this time any later, you risk having your texts marked as spam. If a texter opens a program after this time, they will see that the program is in "Quiet Hours" and will not be able to send texts.
  11. "Automatic Reassigns": These are optional.
    1. Sometimes Texters will not respond to replies or not fully send their batch of Initial Outbounds. At the Program level, Program Admins can ensure texts get sent and replies answered by setting reassignment options either when creating a new Program or when editing an existing Program.

      TextOut will deliver reassigned Conversations to the Moderator Queue or the Replies Pool, where Admins and Moderators can manage them. The Replies Pool is a holding area for conversations with a “Ready to Reply” status that Texters can request and then respond to.

    2. "Initial Outbounds" (optional): Check this box if you want unsent initial outbounds to go back to the pool for others to send.
      1. Example of why you would select this option: You have a texter request initial outbound texts, they only send half of their texts then they leave. After the set amount of time you choose in the next box, the remaining texts will be sent back to the pool for an active texter to send.
      2. If you checked the box for "Initial Outbounds", enter the amount of time in minutes after which unsent Initial Outbound messages will be released to the available text pool.
    3. "Replies" (optional): Check this box if you want replies that have not been replied to, to be reassigned to the pool for other texters to request.
      1. If you checked the box for "Replies" (required), enter the amount of time in minutes after which unanswered replies will be reassigned.
      2. If you checked the box for "Replies" (required to check at least one), check which types of texts you want to be reassigned:
        1. "Ready to Reply": these are texts that are ready to be replied to
        2. "Flagged": these are texts that a texter has "flagged" but has not answered.
      3. If you checked the box for "Replies" (required), check where you want the reassigned texts to reassign to
        1. "Moderation": The texts will go to "Moderation" and a moderator will have to assign these texts to texters. Learn more about "Moderation".
        2. "Replies Pool": The texts will go to the "Replies Pool" where texters can request the texts.
    4. "Initial Inbounds" (optional): Check this box if you want to reassign the "Initial Inbounds" to the pool so another texters can request replies.
      1. Example of why you would select this option: You are using the powersend tool or you only have a few texters sending initial messages but have a lot of people answering replies.
  12. Click "Submit". Now you're ready to add your scripts, continue to "Step 2: Scripts".

If you need help or ideas for writing your scripts, you can learn more by clicking here.

  1. Click the second tab at the top "Scripts". If you exited the program after the first step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
    1. "Initial Outbounds": This is the initial message you are sending.
      1. Click the "Add IOB" button on the right (IOB means "Initial Outbound")
      2. Enter your "Initial Outbound" message. This is the first text you will send.
        1. Sample: Hi {{ContactFirstName}}, I'm {{SenderFirstName}}, a volunteer with Kermit for President. Kermit is focused on protecting the planet and voting rights. Will you join me in supporting Kermit? stop2quit
        2. You must have opt-out language (sample, stop2quit, Reply stop to opt out, stop2end)
        3. Keep this message short— if it's over 2 segments you risk having your messaged marked as spam.
        4. Include who you are texting for "Kermit for President".
      3. "Attachment" (optional): If you want to add an image or video to your initial outbound message, you will attach the file here. You are only able to attach images that you have add to your 10DLC campaign. If you haven't added, Account>10DLC>Campaign>"Media Samples">Click "Select Files"> Select the image or video
      4. "Auto Reply" (optional): Setting up "Auto Reply" will send a Recommended Reply to Initial Inbounds matching a keyword. If you want to use this feature, you need to first add "Recommended Replies", skipped to "Recommend Replies".
        1. Example of how this works: If voters replied to "Hi {{ContactFirstName}}, I'm {{SenderFirstName}}, a volunteer with Kermit for President. Kermit is focused on protecting the planet and voting rights. Will you join me in supporting Kermit? stop2quit" with the single word "yes", the selected "Recommended Reply" would automatically send. Any replies from the voter would then go to a texter to answer.
        2. Click "Add New Record"
        3. "Keyword": Enter single word
        4. "Script": From the dropdown, search and select the "Recommended Reply" that will be sent when the keyword is sent as the initial inbound.
        5. Click "Update"
        6. Repeat for additional Auto Replies
      5. Click "Save Changes"
      6. Send a test (optional): If you want to test your initial outbound message, click the envelope icon under actions next to the message. Enter the name and phone number you want to receive the test message. Click "ok".
        1. Note: This number may not be a local area code. Test messages will be sent from a dedicated test number. The number will not be used in your program to send outbound messages.
    2. Click the "Recommended Replies" (the second tab next to "Initial Outbounds" under "Scripts"). You have two options for adding "Recommended Replies", add them one at a time or importing them from either our script library (contact Civitech Support if you need access) or an excel sheet that you create (format for the spreadsheet can be found here)
      1. Importing Scripts
        1. Select the first 6 columns and all rows without the header row (the first row containing the column names) of your external script in a spreadsheet and copy (edit> copy)
        2. Click "Import"
        3. This screen shows you the correct format, click "Next"
        4. Then click in the box, paste the scripts you copied (use either right click paste or command(⌘)+c)
        5. Click "Next"
        6. This screen Displays the first 3 records from the pasted file as a sample. Confirm the content aligns to the headers as displayed.
        7. Click "Process"
        8. Repeat to add additional replies from spreadsheets.
      2. Adding replies individually
        1. Click "Add Reply"
        2. "Title" (required): Input a title for the reply. Examples: "Supporter" or "Opposed"
        3. "Type" (required): Input a name for the type of script. If you have already added that script title, select it from the list. If it is your first script type, click "Add new type" Example, "GOTV" or "Persuasion"
        4. "Data Tags" (optional): If you want a data tag to attach when the reply is sent, add the data tag or data tags you want added. Example "Supporter".
        5. "Visible From" (optional): If you want a "Recommended Reply" to only be visible for a texter to select for a certain timeframe, enter the date you want it to start displaying. Use this if it is a time sensitive response. Example, Early voting dates, vote by mail dates, Election Day.
        6. "Expires After" (optional): If you want a "Recommended Reply" to only be visible for a texter to select for a certain timeframe, enter the date you want it to stop displaying. Use this if it is a time sensitive response. Example, Early voting dates, vote by mail dates, Election Day.
        7. "Script Body" (required): Enter the text for your reply.
        8. "Attachment" (optional): If you want to add an image or video to your "Recommended Reply", you will attach the file here. You are only able to attach images that you have add to your 10DLC campaign. If you haven't added, Account>10DLC>Campaign>"Media Samples">Click "Select Files"> Select the image or video
        9. Click "Save Changes"
        10. Repeat to add additional replies individually.
    3. Click the "Opt Out /Wrong Number" (the third tab next to "Recommended Replies" under "Scripts"). There are 3 default recommended replies. You can add more if you choose. You have two options for adding "Opt Out / Wrong Number" scripts, add them one at a time or importing them from either our script library "Add Ons">"WrongNumber_OptOut_Both_TextOut_ScriptTemplate" (contact Civitech Support if you need access) or an excel sheet that you create (format for the spreadsheet can be found here)
      1. Importing Scripts
        1. Select the first 6 columns and all rows without the header row (the first row containing the column names) of your external script in a spreadsheet and copy (edit> copy)
        2. Click "Import"
        3. This screen shows you the correct format, click "Next"
        4. Then click in the box, paste the scripts you copied (use either right click paste or command(⌘)+c)
        5. Click "Next"
        6. This screen Displays the first 3 records from the pasted file as a sample. Confirm the content aligns to the headers as displayed.
        7. Click "Process"
        8. Repeat to add additional replies from spreadsheets.
      2. Adding replies individually
        1. Click "Add Reply"
        2. "Title" (required): Input a title for the reply. Examples: "Supporter" or "Opposed"
        3. "Type" (required): Select the type of script.
        4. "Data Tags" (optional): If you want a data tag to attach when the reply is sent, add the data tag or data tags you want added. You can add as many as you like to capture the most information. Example "Wrong Number" "Out of State" "Opt Out".
        5. "Visible From" (optional): If you want a "Recommended Reply" to only be visible for a texter to select for a certain timeframe, enter the date you want it to start displaying. Use this if it is a time sensitive response. Example, Early voting dates, vote by mail dates, Election Day.
        6. "Expires After" (optional): If you want a "Recommended Reply" to only be visible for a texter to select for a certain timeframe, enter the date you want it to stop displaying. Use this if it is a time sensitive response. Example, Early voting dates, vote by mail dates, Election Day.
        7. "Script Body" (required): Enter the text for your reply.
        8. "Attachment" (optional): If you want to add an image or video to your "Recommended Reply", you will attach the file here. You are only able to attach images that you have add to your 10DLC campaign. If you haven't added, Account>10DLC>Campaign>"Media Samples">Click "Select Files"> Select the image or video
        9. Click "Save Changes"
        10. Repeat to add additional replies individually.

Step Three: Contact Lists

The program text list can be uploaded by CSV or imported directly from VAN.

  • There is no limit to how many lists you can add to a program.
  • There is no size limit for lists.
  • Adding multiple lists, duplicates will be removed.
  • If a Contact is loaded with their First Name or Last Name fields in ALL CAPS - TextOut will automatically convert them to the proper case to not yell at Contacts.


  1. Click the third tab "Contact Imports" If you exited the program after the first step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
  2. Click "Import Contacts"
  3. "Select a Source"
    1. Select ".CSV File"
      1. Click the "Source Setup" button
      2. "CSV Settings": Click the "Select File" button and select the .csv from your computer
      3. Click the "Upload" button. If you selected the wrong list, click the "Clear" button and select your list again.
      4. "Audience Name" (optional): Add a name to the import to help identify the file later in program Data Exports and the Dashboard.
      5. "Column Mapping" (required): Map the columns in your .csv to the three fields:
        1. "CellNumber" (required): This is the number the text will send to
        2. "FirstName" (optional): Map the column in your .csv that matches "First Name"
        3. "LastName" (optional): Map the column in your .csv that matches "LastName"

          "Custom Fields/Columns" (optional): If you have a dynamic field listed in your scripts that is different that the column name in your list, you need to complete this section.

          Note: If you have incorrect mapping, your texts will not deliver.

        4. Check the box next to the "Original Column Name"
        5. Input the new name that matches your dynamic field in the program in the "Rename As (Optional)
        6. Click "Exclusions" to continue, Click "Source Type" if you need to switch lists.

          "Exclusions" (optional, except for Opt Outs): These phone numbers that are removed from an imported Contact List for a defined reason. Exclusion rules are created based on data tags (Script Data Tags, Wrong Numbers, or Deliverability Errors). If the selected data tags are associated with a Contact, it is removed from the Program Contact List import. Exclusion rules are controllable at each level in TextOut (Workspace, Division, Program Group, Program, and each Contact List in a Program) and can only be created and edited by Admins.

          This function is different from removing duplicates from a Contact List. TextOut will automatically dedupe identical contacts (based upon phone number) within a single program.

        7. Check the "Enabled" box next to the Exclusion listed (this means you previously added to your workspace settings). If you have "Exclusions" you intend to use in all programs, it is recommended you add them to the Workspace Exclusions.
        8. Click the "Add New Rule" button to add new rules specific to the program
        9. Select the type of rule from the "What would you like to exclude?" dropdown menu
        10. Select which level you want to exclude from on the dropdown menu "At what level would like the exclusion to occur"
        11. For data tag only: "Which data tag should be excluded", begin type the data you want to exclude.
        12. Click the "Create rule" button"
        13. Click the "Review and Submit" button if you want to continue, or "Source Settings" if you would like to go back and edit previous steps.
        14. "Review and Submit": Review the contact list uploaded and exclusions added
        15. Click the "Submit" button.
        16. "Import Info": This is a summary
    2. Select "VAN List"
      1. Click the "Source Setup" button
      2. Select your VAN instance
      3. Select your VAN Folder
        1. "Audience Name" (optional): Add a name to the import to help identify the file later in program Data Exports and the Dashboard.
        2. "Column Mapping" (required): Map the columns in your .csv to the three fields:
          1. "CellNumber" (required): This is the number the text will send to
          2. "FirstName" (optional): Map the column in your .csv that matches "First Name"
          3. "LastName" (optional): Map the column in your .csv that matches "LastName"

            "Custom Fields/Columns" (optional): If you have a dynamic field listed in your scripts that is different that the column name in your list, you need to complete this section.

            Note: If you have incorrect mapping, your texts will not deliver.

          4. Check the box next to the "Original Column Name"
          5. Input the new name that matches your dynamic field in the program in the "Rename As (Optional)
          6. Click "Exclusions" to continue, Click "Source Type" if you need to switch lists.

            "Exclusions" (optional, except for Opt Outs): These phone numbers that are removed from an imported Contact List for a defined reason. Exclusion rules are created based on data tags (Script Data Tags, Wrong Numbers, or Deliverability Errors). If the selected data tags are associated with a Contact, it is removed from the Program Contact List import. Exclusion rules are controllable at each level in TextOut (Workspace, Division, Program Group, Program, and each Contact List in a Program) and can only be created and edited by Admins.

            This function is different from removing duplicates from a Contact List. TextOut will automatically dedupe identical contacts (based upon phone number) within a single program.

              1. Check the "Enabled" box next to the Exclusion listed (this means you previously added to your workspace settings). If you have "Exclusions" you intend to use in all programs, it is recommended you add them to the Workspace Exclusions.
              2. Click the "Add New Rule" button to add new rules specific to the program
              3. Select the type of rule from the "What would you like to exclude?" dropdown menu
              4. Select which level you want to exclude from on the dropdown menu "At what level would like the exclusion to occur"
              5. For data tag only: "Which data tag should be excluded", begin type the data you want to exclude.
              6. Click the "Create rule" button"
            1. Click the "Review and Submit" button if you want to continue, or "Source Settings" if you would like to go back and edit previous steps.
            2. "Review and Submit": Review the contact list uploaded and exclusions added
            3. Click the "Submit" button.
  4. "Import Info": This is a summary of your list
    1. You can click the "Download Valid Contacts" to download a list of all contacts that were imported
    2. You can click the "Download Excluded Contacts" to download a list of all contacts that were excluded from the import
    3. You will see a cost estimate for importing this list
      1. Note, this does not include phone number fees
    4. Provisioning
      1. If your program is 10DLC Registered, select the phone number you want the list to send from
      2. If your program is Unregistered, enter at least one area code for the phone number you want your list to send from
      3. Click "Confirm" to provision your list

Step Four: Roles

This step is how you add texters to your program, as well as other users such as administrators and moderators. Users can be added either individually or by user list.

  • Tip: Users must join your workspace before you can add them to a program. You can learn about adding users to your workspace by clicking here.
  • Tip: Your workspace invitation link can be found here: Administration>Workspace Settings> Invitations>Click the "Copy Link" button next to the invitation to get the link to send to the user you want to join your TextOut Workspace.
  1. Click the fourth tab at the top "Roles". If you exited the program after the previous step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
    1. Assign User
      1. Click "Assign User"
      2. "User": begin typing the name or email of the user you want to add in the box, then select it from the list
      3. "Role": select the role for the user.
        1. Admin: has admin permissions for just this program
        2. Moderator: has the ability to moderate just this program
        3. Texter: has the ability to text on just this program
      4. Click "Assign Role"
      5. "Are you sure?": Click "yes" to confirm you want to add the role for the user. Click "cancel" to cancel adding the role.
      6. Repeat for additional users and additional roles
        1. Note: Admins are also texters
    2. Assign user list
      1. Click "Assign user list"
      2. "User List": begin typing the name of the user list you want to add in the box, then select it from the list
        1. "Role": select the role for the user list
          1. Admin: has admin permissions for just this program
          2. Moderator: has the ability to moderate just this program
          3. Texter: has the ability to text on just this program
        2. Click "Assign Role"
        3. "Are you sure?": Click "yes" to confirm you want to add the role for the user list. Click "cancel" to cancel adding the role.
        4. Repeat for additional user lists and additional roles

For VAN Users- Step Five: Integrations

If you used VAN to import a contact list and you want to sync the data back to VAN, then you need to complete this section.

  1. Click the fifth tab at the top "Integrations". If you exited the program after the previous step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
  2. Click the toggle on the right side to enable the VAN sync
  3. There are two options for adding actions to sync to your VAN instance, "Add new action" to add an action just to this program. or "Clone rules from instance" to use rules you added to your VAN instance setup. If you are going to frequently use the same actions, it is recommended that you set up your actions on your VAN instance so you don't have to add them individually to each program.
  4. "Add new action"
    1. "Add new VAN instance action"
    2. Select the VAN instance you want to add the action for
  5. "Clone rules from instance"
    1. "Clone Instance"
    2. Select the VAN instance you want to clone the rules from

(Optional) Step Six: Survey Questions

If you want to add Survey Questions to your program, you add them here. To setup survey questions in your workspace setting. Reasons to use "Survey Questions" to collect additional information such as emails, shirt size, etc, data not captured with your data tags on your scripts or to collect, or to opt someone out without sending a reply.

  1. Click the seventh tab at the top "Survey Questions". If you exited the program after the previous step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
  2. Click the "Add Survey Question" button on the right
  3. Select the "Survey Question" you want to add in the box under "Question" on the "Survey Question" pop up screen.
  4. Click "Ok" to add
  5. Repeat to add additional "Survey Questions"

Step Seven: Launching your Program

You're ready to launch your program and start sending texts!

  1. There are two ways to send initial outbound messages. You can either use the "Power Send" feature to send your initial outbound texts for you or you can click send on each initial outbound message.
  2. Click the first tab "Overview". If you exited the program after the previous step, you will return to this page by click Administration>Programs>Click the pencil icon next to the program name under "Actions"
  3. "Power Send"
    1. Scroll down to the "Power Send" section
  4. Send initial outbound messages individually
    1. Click the "Edit" button on the upper right side
    2. Scroll down to "IOB Request Status"
    3. Select "Open" from the dropdown menu
    4. Click the "Save Changes" button on the upper right side
  5. Texters can now request and send Initial Outbound Messages
    1. Texters will see the program in their texting inbox
    2. You can copy the link from the program and send it to users to start texting directly
  6. To learn more about texting in your program Continue to "Step 3: Managing your Program: Texting"

Still need help? Contact Us Contact Us