Bulk schedule posts from a CSV
A month of posts from one spreadsheet, checked before anything goes out.
Yes. Download the template, fill one row per post (text, date, time, channels and an optional media link), and upload it. TallyReel checks every row with the same rules as the composer, shows what is wrong with each one, then imports the good rows as drafts or scheduled posts, up to 500 rows per file.
Plans: Every plan. Scheduled rows count toward your plan's posts a month (Free 10, Starter 150, Plus and Pro unlimited); rows imported as drafts don't until you schedule them.
Some teams plan in a spreadsheet and always will. The copywriter fills a sheet, the client signs it off, and someone has to type sixty posts into a scheduler. The import page turns that sheet into posts in one go, with a preview first so a typo in row 40 doesn't become a broken post at 8 in the morning.
The preview runs the same checks as scheduling a post by hand: each network's character limit, whether it needs a picture or a video, whether the accounts in the row are connected, and whether the date is in the future. Rows with a problem are listed with the reason and skipped; everything else imports, and a progress bar shows it working.
Updated 18 October 2026 ยท by Danish, who makes TallyReel
How it works
- Download the template. Import posts, then Download template. It opens in Excel, Numbers or Google Sheets and has example rows for X, LinkedIn, Instagram and Reddit.
- Fill one row per post. Text, date and time, the channels it goes to, and an optional media link. Leave the date empty to put the post in your queue.
- Upload and choose how to import. Drafts keeps everything unpublished, with dates kept so you can review and schedule later. Scheduled posts schedules rows with a date and queues rows without one.
- Check the preview. Each row shows when it will go out (or Next free slot), its accounts and any problems. Tick Dates are day/month/year if your sheet is written that way.
- Import. The good rows import in the background. When it finishes you see how many were added and why any row wasn't.
What people use it for
The columns
Headers are not case sensitive, and spaces or dashes count as underscores. Any column TallyReel doesn't know is listed as ignored in the preview.
- text (or content, message, post, caption, body): required. Up to 40,000 characters, and each network's own limit is checked.
- date and time, or one datetime column (scheduled_at, publish_at, when): optional. Dates as 2027-03-01, or 03/01/2027 and 01.03.2027; times as 09:00, 9am or 17:30. A date with a time zone offset is taken as written; otherwise it is your workspace's time zone. Excel date numbers work too.
- channels (or channel, accounts, networks, platforms, profiles): required. An @handle, an account name, platform:handle such as x:yourname, or a network name such as instagram for every Instagram account you have connected. Separate several with commas, semicolons or pipes.
- media_url (or media, image, image_url, video_url): optional. One http or https link to a picture or video, downloaded when the row imports.
- Per-network fields as network.field: reddit.subreddit, reddit.title, youtube.title, youtube.privacy, pinterest.boardId, and the other fields the composer asks for.
Rules worth knowing
A date needs a time. If a row has a date but no time, the preview asks you to add one, or to leave the date empty so the row goes into the queue. Rows without a date in Scheduled mode take the next free slot in your posting times, so set those up first.
In Scheduled mode a past date or a network problem stops the row; in Drafts mode the same things show as warnings, because nothing is posted yet. Contributors in a team can import drafts only; scheduling an import needs an editor or above. If the month's post limit runs out partway, the remaining rows report it and suggest importing them as drafts.
Honest limits
- 500 rows per file, and about 2 MB of text. Split bigger sheets into several files.
- One media link per row. A post with a carousel of pictures needs finishing in the composer.
- The file must be CSV. Save an Excel or Google Sheets file as CSV before uploading.
- Accounts must already be connected; the import doesn't connect new ones.
Questions
How many posts can I import at once?
Up to 500 rows per CSV file. Each row is one post, and one post can go to several accounts.
What if some rows have mistakes?
The preview lists each problem next to its row. Rows with problems are skipped and the rest import; fix the skipped rows in the file and import them again.
Can I import without choosing times?
Yes. Leave the date and time empty and pick Scheduled posts: each row takes the next free slot in your posting times. Or import as drafts and schedule later.
Does it read day/month/year dates?
Yes. Tick Dates are day/month/year in the preview. Dates with dots are always read day first, and dates like 13/01/2027 that can only be one way are read correctly either way.
Can I attach pictures or videos?
Yes, one per row with a media_url column holding a public link. TallyReel downloads it when the row is imported.
Pick one. Make it tonight.
Type the idea into TallyReel, read the script, and it makes the video for you: in the browser, on your phone, or in Studio on your own computer. Start on the free plan.