Social0|Docs
DashboardBulk tools

Bulk Video Upload

Upload and schedule multiple videos at once.

Bulk Video Upload

Route

/dashboard/bulk-tools/video

Purpose

Upload and schedule multiple videos at once. Plan-gated: checkBulkToolsAllowed false → redirect to /dashboard/billing?upgrade=1. Loads connected accounts for video platforms and passes to BulkToolsVideoClient.

Access

  • Auth required: yes (redirect "/" if no session)
  • Plan required: growth or pro
  • Who sees this: authenticated users with bulk-tools-allowed plan

Data Flow

What it fetches

  • Session; redirect if none.
  • checkBulkToolsAllowed(session.user.id); redirect to billing?upgrade=1 if false.
  • connectedAccounts for userId; filter isActive and platform in VIDEO_PLATFORMS; sort by PLATFORMS; add tokenExpired (same logic as bulk-tools/image).

What it mutates

None in page; BulkToolsVideoClient handles upload/schedule.

Components Used

BulkToolsVideoClient — accounts, supportedPlatforms (VIDEO_PLATFORMS).

State

Server-only. Client state in BulkToolsVideoClient.

Key Business Logic

Same as bulk-tools/image but VIDEO_PLATFORMS from content-types.

URL Params / Search Params

None.

Error States

No session or no bulk allowed → redirect.

  • /dashboard/bulk-tools
  • /dashboard/billing?upgrade=1

TODO / Known Issues

eslint-disable react-hooks/purity for Date.now().

On this page