You're already planning your TikTok campaigns in a spreadsheet. The video URLs are there. The captions are there. The target accounts, the post times, the sounds — all in rows and columns, color-coded, shared with your team. Then someone has to manually log into each account and actually post it. That bottleneck is the entire problem. The plan is automated. The execution is not.
This is exactly the use case TokPortal's API was built for. When your spreadsheet can trigger real posts — through real TikTok apps, on real devices, in real countries — the gap between planning and publishing collapses to zero. Here's how to build it.
Why Spreadsheets Are Still the Command Center for Content Teams
Every serious content operation, from a two-person DTC brand to a 20-client agency, runs some version of the same Google Sheet: rows for each piece of content, columns for account, caption, date, format, sound, status. It's collaborative, flexible, and universally understood. No new tool adoption. No onboarding your client to yet another SaaS.
The problem has never been the spreadsheet. It's that the spreadsheet has always been a planning artifact, not an execution layer. You finish the planning column, then start the manual posting grind. Every row is a task someone has to do by hand. At five accounts that's manageable. At fifty, it's a nightmare. At two hundred, it's impossible.
Connecting Google Sheets to TokPortal via the API — or through no-code tools like n8n, Make.com, or Zapier — turns your existing planning sheet into a live posting pipeline.
~4 min
Average time to manually post one TikTok (login, caption, sound, hashtags, post)
200+
Videos per month a single agency campaign might require
13+ hrs
Monthly manual work replaced by a spreadsheet-driven pipeline
30+
Countries where TokPortal accounts post natively via real devices
What You Can Control From a Spreadsheet
Before building the workflow, it helps to understand exactly what columns map to what API parameters. TokPortal's REST API — documented at developers.tokportal.com — gives you programmatic control over essentially every posting variable. That means every column in your sheet can correspond to a real posting action.
- Account (bundle ID): which TikTok or Instagram account posts the video
- Video URL: direct link to the video file (Google Drive, S3, Dropbox, etc.)
- Caption: full text with hashtags and emojis, passed directly to the post
- Schedule datetime: ISO timestamp controlling exactly when the post goes live
- TikTok Sound URL: a unique TokPortal capability — add any TikTok sound to a video by URL, impossible via the official TikTok API
- Sound volume: control original audio and added sound independently (0–200%)
- Country/account geo: specify which country's account handles the post
- Post format: video, carousel, Reel, Story, fixed photo
- Location tag: geotag the post to a city or venue (Instagram)
- Status column: track Posted, Scheduled, Failed, Pending directly in your sheet via webhooks
Three Ways to Connect Google Sheets to TokPortal
There's no single right architecture — the best connection depends on your team's technical comfort and the complexity of your campaign. Here are the three main approaches, from simplest to most powerful.
Feature
No-Code (n8n / Make / Zapier)
Direct API / Custom Script
Setup time
Technical skill required
Custom logic (conditionals, retries)
Real-time webhook status back to sheet
Best for
Cost
Option 1: The n8n Workflow (Recommended for Most Teams)
n8n is the most flexible no-code option for this use case because it handles looping through spreadsheet rows natively, supports conditional logic, and can write status updates back to your sheet after each post. Here's the core workflow structure:
Google Sheets Trigger Node
Set the trigger to fire on a schedule (e.g., every 15 minutes) or when a new row is added with Status = 'Ready'. This means your team marks a row as ready in the sheet, and the automation picks it up automatically — no manual kick-off needed.
Filter: Check Scheduled Time
Add a conditional node that compares the row's scheduled datetime against the current time. Only rows whose scheduled time has passed (or is within the next 15 minutes) move forward. Everything else waits for the next check.
TokPortal API Node: POST /bundles/{id}/videos
Map each column from the sheet row to the corresponding API parameter: video URL, caption, sound URL, sound volume, post format. The full parameter reference is at developers.tokportal.com. This is the step that posts the video through the real TikTok app on a real device in your target country.
Write Status Back to Sheet
After the API call, use a Google Sheets node to update the Status column in that row. On success: 'Posted'. On failure: 'Failed – [error message]'. Your sheet becomes a live dashboard showing exactly where every piece of content stands.
Optional: Slack / Email Alert on Failure
Add a notification node that fires only when the API returns an error. Your team gets alerted immediately without having to check the sheet, and the row stays in 'Failed' status for manual review.
Option 2: Make.com Scenario
Make.com (formerly Integromat) is an excellent alternative if your team already uses it. The scenario logic mirrors n8n: a Google Sheets module watches for rows with a trigger status, an HTTP module sends the video details to the TokPortal API, and a final Google Sheets module writes the result back. Make's visual canvas makes it easy to hand off to a non-technical team member for maintenance.
One Make-specific tip: use the 'Watch Rows' trigger rather than polling all rows on a schedule. This fires the scenario only when a new or updated row appears, keeping your operation usage low and your latency near-zero.
Option 3: Google Apps Script (Zero External Tools)
If you want to keep everything inside Google Workspace, Apps Script is a powerful option. A time-driven trigger runs a function every 10 minutes, iterates through rows where Status is 'Ready' and the scheduled time has passed, calls the TokPortal REST API via UrlFetchApp.fetch(), and writes results back to the sheet. No external subscriptions, no third-party tools. The full API reference at developers.tokportal.com documents every endpoint you'll need. This approach is ideal for technical marketers who want a self-contained solution that lives entirely inside their Google account.
Building the Sheet: Column Architecture That Actually Works
The way you structure your Google Sheet determines how clean your automation logic is. Here's a proven column setup for a multi-account campaign sheet:
- Row ID: unique identifier for each post (used for webhook callbacks and deduplication)
- Bundle ID: the TokPortal account ID — map this from a separate 'Accounts' tab for easy reference
- Platform: TikTok or Instagram (determines which API endpoint and post format options apply)
- Country: for reference — your bundle IDs already encode geography, but this helps the team plan
- Video URL: direct public link to the video file; Google Drive works if sharing is set to 'Anyone with link'
- Caption: full post text including hashtags — keep a character count formula in the adjacent column
- Sound URL: paste any TikTok sound page URL here; leave blank for original audio only
- Original Volume %: 0–200, defaults to 100
- Sound Volume %: 0–200, defaults to 100 if sound URL is provided
- Scheduled At: datetime in ISO 8601 format (use a formula to convert human-readable dates)
- Post Format: video / reel / carousel / story / photo
- Status: Pending / Ready / Scheduled / Posted / Failed
- Posted At: written back by the automation after successful posting
- Error: written back by the automation if posting fails — shows the API error message
- Notes: freeform column for the content team
Multi-Account Agency Campaigns: The Real Power
The spreadsheet model truly shines when you're managing campaigns across multiple accounts — say, 15 TikTok accounts across the US, UK, Germany, and Brazil for a single product launch. Without automation, that's 15 manual logins per posting day. With a spreadsheet-driven pipeline, it's 15 rows that all fire at their respective scheduled times with zero additional effort from your team.
The workflow doesn't change. You just have more rows. Each row has a different Bundle ID pointing to a different country's TokPortal account. The automation treats each row identically. You can localize captions per row (column), use country-specific sounds (column), and stagger post times by timezone (column). The spreadsheet makes the complexity manageable because every variable is visible and editable in one place.
We went from a VA spending 3 hours a day logging into accounts and posting, to a sheet where the team drops in content and it posts itself. The ops cost dropped, the error rate dropped, and we scaled from 12 to 60 accounts without hiring anyone new.
— Agency Owner, Performance Marketing
Closing the Loop: Webhooks Write Back to Your Sheet
A one-way pipeline — sheet to TokPortal — is useful. A two-way pipeline is a campaign management system. TokPortal fires webhooks for real-time events: post published, post failed, account warming complete, and more. Here's how to use them:
In your n8n or Make workflow, add a webhook receiver node. When TokPortal fires a video.published event, the webhook payload includes the Row ID you passed at post time. Your workflow looks up that row in the sheet and writes 'Posted' to the Status column along with the actual timestamp. When a video.failed event fires, it writes 'Failed' and the error reason. Your sheet becomes a real-time campaign dashboard that updates itself — no manual checking, no status meetings just to find out if things posted.
Full webhook event documentation is available at developers.tokportal.com.
Spreadsheet-Driven Posting: What Works
- Zero new tool adoption — your team stays in the interface they already know
- Full campaign visibility in one tab: every account, every post, every status
- Easy to bulk-edit (change 50 captions in seconds with find-replace)
- Scales from 5 to 500 accounts without changing the architecture
- Non-technical team members can manage campaigns without touching the API
- Video URL column works with any storage: Drive, S3, Dropbox, Cloudflare R2
What to Watch Out For
- Video files must be publicly accessible via URL — Google Drive requires share setting adjustment
- Apps Script has execution time limits (6 min/run) — large batches need pagination logic
- Timezone management in datetime columns requires discipline (always use UTC or explicit offset)
- Sheet becomes a single point of failure if access permissions aren't managed carefully
- No built-in conflict resolution if two team members edit the same row simultaneously
Connect Your Content Calendar to Real TikTok Accounts
Your spreadsheet already has the plan. TokPortal gives it the infrastructure to execute — real devices, real app posting, real reach across 30+ countries. Set up your first spreadsheet-driven campaign in under an hour.
AI Agents: The Next Level Beyond Spreadsheets
Spreadsheet-driven automation is a major step forward. But there's a level beyond it: AI agents that generate content, populate the sheet, and trigger posting autonomously — no human input required between strategy and publish. TokPortal's MCP server enables exactly this. An agent like Claude or a custom GPT can call TokPortal's API directly: create accounts, schedule videos, check analytics, and respond to performance data. The spreadsheet becomes optional — the agent manages state in whatever structure makes sense for the workflow. For teams already experimenting with AI-assisted content creation, this is the natural next step after nailing the spreadsheet pipeline.
Does TokPortal have a native Google Sheets integration, or do I need to build it?+
Can I manage multiple client accounts from a single Google Sheet?+
What happens if a post fails? Will it retry automatically?+
Can I add TikTok trending sounds through the spreadsheet workflow?+
How do I handle timezone differences when scheduling posts across multiple countries?+
Is this approach suitable for Instagram as well, or only TikTok?+

Written by
Vincent Tellenne
Founder & CEO
Vincent is the founder of TokPortal, building the infrastructure for scaled organic social media distribution. Previously scaled multiple startups and APIs to millions of requests.
Learn more about this topic with AI
Related Resources
Runway to TikTok at Scale: Geo-Native Workflow
Post Runway videos to TikTok at scale with real-device workflows across 20 countries, native sounds, webhooks, and API-controlled campaigns.
TokPortal + Zapier: No-Code Social Distribution
Use TokPortal + Zapier to send videos from 5,000+ apps into geo-native TikTok, Reels, and Shorts posting workflows without custom code in 2026.
Zapier Workflow: AI UGC From Drive to TikTok
Build a Zapier workflow that posts AI UGC from Google Drive to TikTok via TokPortal real-device routing across 20 countries, with Sheets logging.
Automate TikTok Posting with n8n + Real Devices
Automate TikTok posting with n8n and TokPortal real devices across 20 countries using webhooks, schedules, retries, and API workflows.
Distribute Pika.ai Videos to TikTok, IG, YouTube
Move Pika videos to TikTok, Reels, and Shorts through real devices, APIs, and local accounts in 20+ countries—without manual upload queues.
Automate Runway Videos to TikTok
Automate Runway clips to TikTok with TokPortal API workflows across real devices in 20+ countries for agencies, AI tools, and growth teams.
