Bulk Scheduling

New to Sprout Social? Learn how our Bulk Scheduling functionality fits into our social media publishing suite here.

Bulk Scheduling makes crafting, planning and scheduling messages more efficient with a single import.

Why use Bulk Scheduling?

  • Speed up your workflow. Create up to 350 messages containing tags, links and images with a single import.
  • Keep your process. Already planning on using spreadsheets? Simply rename columns for importing into Sprout.
  • Adapt importing for your preferences. Import messages as Scheduled Messages or Drafts for additional flexibility or revising. Available for all major social networks, including Instagram Direct Publishing.

Note: Bulk Scheduling is available on Professional and Advanced plans. Trial customers can upload up to 50 messages per import.

This guide will cover the finer details of Bulk Scheduling.

Finding Bulk Scheduling

You'll find Bulk Scheduling within the Specific day and time section of When to post in Compose.


You may also navigate Publishing > Calendar. At the top, click Smart_Inbox_Overflow_Menu.png and select Bulk Message Import. The Import Messages screen will appear.

Note: We recommend scheduling your posts for no more than 6 months in the future. The Publishing Calendar will only showcase scheduled posts that are within 180 days from the day that you upload your content.

Getting Started with Bulk Scheduling

To bulk schedule messages in Sprout, you'll first need a properly-formatted .CSV file. Sprout provides a template in the platform. You can also download it here.

Note: .XLS files are not supported. If you are using Excel, export your spreadsheets as .CSV files and be sure to verify that proper formatting has been maintained. If you are using Google Sheets, saving your spreadsheet as a .CSV should not produce any formatting errors.

Keep in mind that all column headers are case sensitive. Do not capitalize any of the headers. The following column headers are required for the .CSV to be determined valid in Sprout:

  • date - Must be in dd/mm/yyyy or mm/dd/yyyy format, depending on the the import preferences you specify in the platform.
  • time_24hr - Must be in 24-hour format. Messages must be scheduled at least 10 minutes apart from one another, and at least 10 minutes after the time you upload the .CSV to Sprout.
  • message_text - The message's text. Cannot exceed the maximum character count for the network.

Note: If using emojis or international characters in messages, please use Google Sheets instead of Excel to avoid strange or incorrectly formatted imports. This is due to Excel improperly encoding the Emojis and Characters when saving as a .CSV. As a workaround, save the .CSV as UTF-8. Excel does NOT do this by default.

If these column headers are deleted or edited, the messages will not import successfully.

The following column headers are optional, and expand the capabilities of Sprout's import ability:

  • link_url - The link included with the message. These should be well-formed links, including HTTP or HTTPS (ex. https://www.sproutsocial.com, rather than just www.sproutsocial.com). Not currently compatible with Tweets. To include a link in a Tweet, please add the link to the message_text column. For Facebook, the link is not required to be in the text of the post, so you can add it to the link_url column only. Instagram does not support clickable links in posts.
  • instagram_first_comment - The copy for an Instagram first comment. This column in the CSV will be ignored for personal Instagram profiles and other networks.

Note: If you include a link in the message_text column when you’re scheduling posts for Facebook or LinkedIn, and you do not include the link in the link_url column, Sprout will automatically add the last URL in the message text to the link_url column to use as the target for the link post.

  • public_image_url - Link to the image you want to include in the message. This must be a publicly accessible link that does not require a login to view.

Keep in mind that when accessing links from services such as Google Drive or Dropbox, you will want to ensure that the URL directs to the image itself, and not just a page showing the image. Typically the end URL will contain the image format (png, jpg, etc.)

The image below is an example of how Dropbox processes this.


When pulling links from Google Drive specifically, we recommend selecting the option to Get a Shareable Link as seen in the image below.


  • tags - Specify which tags will be automatically applied to this message. These tags must already be created in your Sprout account. Separate multiple tags with a comma.
  • approval_workflow_name - Specify an existing Approval Workflow (per row). All messages will be submitted for approval after bulk upload.

Note: As a best practice, it is recommended to disable Message Approval notification emails when bulk scheduling a large volume of messages requiring approval. This avoids an influx of emails upon uploading.

To make your images public, use one of the following resources:

  • Dropbox
    1. Find an image in your Dropbox.
    2. Click on the image and select the “Share” button in the upper-right corner.
    3. Select the “create link” link and paste the created link into the public_image_url column of your .CSV.
  • Public Server
    1. Host desired images on your own website or server.
    2. Copy and paste the URL into the public_image_url column of your .CSV.
  • Currently public and available images
    Copy and paste direct URLs of desired images into the public_image_url column of your CSV.

#SproutTip: An easy way to determine if your public_image_url is valid is to paste the link in a private or incognito browser window and see if it renders properly.

Finally, you can add additional columns to your spreadsheet, and these will not affect the import process. If you or your team rely on additional columns to help enable better organization or collaboration, feel free to continue using them.

Importing Your .CSV into Sprout

Once you've added all of your messages to the spreadsheet, you can upload the .CSV file to Sprout by navigating to Publishing > Calendar.

Click Smart_Inbox_Overflow_Menu.png > Bulk Message Import at the top of the Calendar. The Import Messages screen will appear.


From the dropdown menu at the top of Import Messages, select the profile(s) for which the messages in the .CSV should be scheduled.

Note: If there is a business add-on for the designated Instagram profile and an image included within the same row of the .CSV, the message will be scheduled and published accordingly.

Additionally, you can choose to import all messages as drafts by selecting Schedule messages as Drafts. Shorten your links through Bit.ly by selecting Shorten Link URLs using Bit.ly.

Click Start Import to finish. If the .CSV file fails validation, error messages will alert you to the issue preventing successful import.

Depending on the number of messages included in the .CSV, the import process can take some time. You can safely close the import window and use Sprout as normal. You will receive an email when the import is complete.

If Sprout detects any errors in the formatting of your messages, you will be able to download a separate .CSV file of the messages that could not be imported.

Tagging Imported Messages 

You can apply existing tags to your messages within the .CSV. If you’d like create a new tag, then you can do so upon the uploading the .CSV from the Import Messages window.

Managing Imported Messages

Messages imported into Sprout will appear on the Calendar at the times specified in the spreadsheet. They can be edited like any other scheduled message.


Was this article helpful?

Still can't find what you're looking for?

Powered by Zendesk