Agents × jobs

Run multi-client agency operations with any AI agent

Run an agency's TikTok/Instagram operations from any of 25 agents: per-client external_ref, bulk account fleets, videos_only reposting, ban webhooks and…

An agency using any MCP-capable agent with TokPortal runs every client through the same four primitives — bundles, accounts, videos, webhooks — and keeps them separate with external_ref and account filters. create_bundles_bulk opens a client's fleet in their market, list_bundles/list_accounts filter by client reference, videos_only bundles carry each month's content onto delivered accounts, create_webhook_endpoint pushes account.banned and video.finalized into the agency's tooling, and export_analytics_videos / create_analytics_report produce the client deliverable. One API key, no per-client OAuth, no app audit, human-operated accounts the agency never has to log into.

How it works

Structure comes from external_ref: put the client slug in it (acme-us, bloom-fr) on every bundle — create_bundle and create_bundles_bulk both accept it, and list_bundles?external_ref=acme-us returns that client's work. Video slots have their own external_ref for creative ids. Accounts inherit their bundle; list_account_bundles on an account gives its history. If clients need real isolation, use one API key per client (keys are per workspace, shown once, revocable individually) — the agent can hold several and pick by client.

Monthly operations from any MCP-capable agent then look like this. Onboarding: create_bundles_bulk (accounts_count, videos_per_account, country, warming terms) plus per-account configure_bundle_account from the client's brand sheet. Content: upload_video for each asset, batch_configure_bundle_videos for the month at ≤3/day, publish_bundle. Reposting existing accounts next month: create_bundle with bundle_type: videos_only and account_id, videos_quantity, then the same batch fill. Corrections: request_bundle_video_corrections when the client rejects a post during the 72-hour review (in_review), or finalize_bundle_video to approve immediately; set auto_finalize_videos: false on bundles where the client insists on approving.

Risk and reporting: one webhook endpoint per client system with account.banned, account.ban_appeal.submitted, account.ban_resolution.decided, video.finalized; list_account_bans as the single source of truth for ban state and refund/remake outcomes; create_analytics_report (or export_analytics_report_html) for a branded monthly report and export_analytics_videos for the raw CSV. Credits are shared per workspace — list_credit_transactions gives the per-bundle ledger to re-invoice each client.

Tool sequence

  1. tokportal_get_credit_costs — Per-client quotes; contract allowances show here.
  2. tokportal_create_bundles_bulk — Client fleet with external_ref: <client>.
  3. tokportal_list_bundlesexternal_ref, status, platform filters per client.
  4. tokportal_create_bundlevideos_only + account_id for next month's content on delivered accounts.
  5. tokportal_batch_configure_bundle_videos — Month of slots per bundle.
  6. tokportal_request_bundle_video_corrections — Client rejects a post in review → manager redoes it.
  7. tokportal_create_webhook_endpoint — Per-client endpoint: account.banned, account.ban_appeal.submitted, account.ban_resolution.decided, video.finalized.
  8. tokportal_list_account_bans — Ban lifecycle + refund/remake resolution for client comms.
  9. tokportal_create_analytics_report — Monthly report per client (or export_analytics_report_html).
  10. tokportal_list_credit_transactions — Ledger to re-invoice credits per client.

Pick your agent