Skip to content

Deliverable Forms

The Deliverable Forms system is the primary collaboration tool between Creators Agency, creators, and brands throughout a sponsorship deal. It handles the full workflow of a sponsored deliverable from brief submission through to final approval and posting.

Overview

A deliverable represents a single sponsored content piece — for example, "Caleb Hammer YouTube Integration for SoFi." Each deliverable moves through a series of stages managed in Monday.com. At certain stages, external parties (creators or brands) need to provide input or make a decision. The Deliverable Forms system handles this interaction via secure, token-based form links.

Form links are generated by the PS team and sent to creators or brands directly. Recipients don't need an account — the token in the URL grants access to only their assigned deliverables.

How Forms Are Accessed

The PS team generates a form link for a creator or brand via the PS Workflow admin. The link format is:

{ps-workflow-url}/ps/form/{token}

The token encodes:

  • The recipient's name
  • Their entity type: creator or brand
  • An expiry time
  • A cryptographic signature

When the link is visited, the token is validated. If valid, the form loads showing all deliverables assigned to that person that are currently in an actionable stage.

Layout

The form has a two-panel layout:

Left sidebar — Lists all deliverables grouped by brand (for creators) or by creator (for brands). Each deliverable shows its name and a checkmark (✓) once it's ready to submit. Below the deliverable list: a "Review Submissions" link and, if any deliverables are fully approved and ready to post, a "Ready to Post" section.

Right panel — Shows the form for the selected deliverable.

Navigation: Previous/Next buttons at the bottom of each deliverable form, plus a "Review →" button when on the last deliverable. The Review page shows a summary of which deliverables are ready and which are incomplete before final submission.

Deliverable Stages & Forms

Each deliverable stage has a different form. Here are all stages and what they require:


WAITING_ON_TALKING_POINTS (Brand fills)

Who acts: Brand

The brand provides the campaign brief and requirements for this integration.

Fields:

  • Talking Points Link (required) — A Google Docs or Google Drive link to the talking points / brand brief. Must be shared with "anyone with the link can comment" permissions. The form validates permissions live: after the link is entered (750ms debounce), it calls the platform's link-check API and shows a ✓ or an error. Alternatively, the brand can upload a file directly — it's uploaded to Google Drive server-side and the link is auto-filled.
  • Tracking Link — The affiliate or tracking URL the creator should include in their post description
  • Caption Text (required) — The approved video caption/description text. Must contain at least one URL (validated in real time). This text is shown verbatim to the creator at posting time.
  • Pinned Comment Text — Text for the creator to post as a pinned comment on the video
  • Ad Placement — When in the video the sponsor segment should appear (e.g. "30 seconds in")
  • Brand Asset Links — One or more links to brand logos, b-roll, graphics, or other assets. "+ Add another link" adds additional URL fields.

WAITING_FOR_SCRIPT (Creator fills)

Who acts: Creator

The creator submits their draft script for brand review.

Fields:

  • Script Link (required) — A Google Docs link to the script. Must be shared with "anyone with the link can comment" permissions (validated live with the same debounce + API check as the talking points link). File upload is also supported — uploaded to Google Drive server-side.

UI helpers:

  • "View Requirements" button opens a modal showing the talking points link, tracking link, and brand asset links set by the brand
  • "View Past Submissions" button opens a modal with the creator's full submission history for this deliverable (if they've submitted before)
  • If the most recent submission was declined, a red alert appears at the top: "Your last script submission was declined" with a link to view it. Any brand notes are shown below.

WAITING_FOR_SCRIPT_APPROVAL (Brand reviews)

Who acts: Brand

The brand reviews the creator's submitted script and either approves it or requests revisions.

UI:

  • "View Script" button opens the script in a full-screen iframe viewer (embedded Google Doc)
  • An instruction box explains the review policy: all revisions must be requested in one consolidated round; comments go directly on the document; approval means the script is cleared for filming

Fields:

  • Decision buttons — Two full-width buttons: "Revision Needed" (red) and "Approve" (green). The selected state is highlighted; the other remains outlined.
  • Additional Notes (optional) — A textarea for broader feedback beyond inline document comments

Validation: The brand must select a decision before the form is marked ready to submit.

Important rule displayed: Once final script approval is granted, that version is used for filming. Subsequent edit requests after approval are not accommodated with a re-shoot.


WAITING_FOR_VIDEO_DRAFT (Creator fills)

Who acts: Creator

The creator submits their video draft for brand review.

Two variants:

Standard video deliverable:

  • Video Link or Upload (required)
    • Accepted link types: YouTube URL (public or unlisted), Google Drive video link, Frame.io link
    • YouTube and Frame.io links are validated immediately by type detection
    • Google Drive links are validated via API (checks that the video is accessible with comment permissions) — same 750ms debounce
    • Direct upload: Creator can upload a video file directly from their device. The upload goes directly from the browser to YouTube via a resumable upload session — video bytes never pass through Vercel (avoids the 4.5MB body limit). A progress bar shows upload percentage. After upload completes, the server verifies the video ID. The form shows "Video uploaded ✓" with a "Remove" option. The actual YouTube URL is injected at submit time.
  • "View Requirements" and "View Past Submissions" helper buttons (same as script stage)
  • If the previous submission was declined, a red alert appears with a link to view the declined draft

IG Story deliverable (detected by deliverable name containing "ig story"):

  • Instead of a video link, the creator submits a Google Docs link containing their Instagram Story frames/images
  • Same link validation as the script submission
  • Instructions ask the creator to share the doc with comment permissions

WAITING_FOR_VIDEO_DRAFT_APPROVAL (Brand reviews)

Who acts: Brand

The brand reviews the video draft and approves or requests revisions.

Standard video:

  • "View Video" button opens the built-in video player (YouTube player or Google Drive iframe). For Frame.io links, opens in a new tab.
  • While the video is open, the brand can leave timestamped comments directly in the player. These are stored in the PS Workflow database.
  • An instruction box explains the review policy: one consolidated revision round; comments go at timestamps; approval means the video is cleared for posting
  • Decision buttons: "Revision Needed" (red) and "Approve" (green)
    • Approve is blocked if the brand has left any comments on the video. A message explains: "You cannot approve this video draft if you leave any comments."
    • Once the video player is closed, the platform checks for comments and clears any "Approve" decision if comments were found
  • Additional Notes textarea for broader feedback

IG Story:

  • "View Document" opens the Google Doc iframe instead of the video player
  • Approve is not blocked by comments (IG Stories don't use the timestamp comment system)
  • Instructions are adjusted to reflect IG Story review

WAITING_FOR_TALENT_TO_POST (Ready to Post — display only)

Who sees it: Creator

Deliverables in this stage are fully approved and the creator just needs to post. They appear in the "Ready to Post" section of the left sidebar (separate from the actionable deliverables list). Multiple ready-to-post deliverables show with previous/next navigation.

What's shown:

  • Deliverable name and brand
  • Talking Points link
  • Tracking link
  • Brand asset links
  • Approved Video Caption — The exact text to use, with a note: "(please copy exactly as shown as there have been some slight stylization and edits)"
  • Approved Pinned Comment — Same note about copying exactly
  • Ad placement instructions
  • Any additional requirements
  • Brand notes (if set by PS during intervention)
  • Full submission history (view-only)
  • A green success banner: "Your video has been fully approved and is ready to post!"

Batch Submission

All deliverables on a single form are submitted together in one batch request when the creator or brand clicks "Submit" on the Review page.

The review page shows each deliverable and whether it's "Ready" or "Incomplete." Only ready deliverables are included in the batch. The submit button is disabled if nothing is ready.

On successful submission, all deliverable stages are advanced in the database, Slack notifications are sent to the relevant PS team member, and a success screen is shown ("✓ Submitted Successfully — You can close this page.").

If any submissions fail (network error, validation error), error messages are shown and the creator/brand can retry.

Manual Intervention Mode

If a PS team member has flagged a deliverable as being under manual review (mode = 'manual_intervention'), the form shows a yellow alert: "This deliverable is currently under review. No action needed from your end for now." The form is read-only for that deliverable — it cannot be submitted.

Admin Intervention Page

A separate admin-only page at /ps/admin/intervention/{id} allows PS team members to directly edit a deliverable's fields (talking points, tracking link, caption, etc.) without going through the brand form flow. This is used when the PS team needs to make corrections or additions on behalf of a brand.