Skip to main content

Drafts & Approvals

UniPulse provides a structured workflow for managing draft content and routing posts through team approval before they go live. This is essential for teams, agencies, and any workspace where content quality control matters.


Drafts

Any post saved without scheduling or publishing receives the DRAFT status. Drafts are your content workspace — a place to develop ideas, iterate on captions, and prepare posts for review.

What You Can Do with Drafts

ActionDescription
EditOpen in the Composer to refine caption, media, and hashtags
ScheduleConvert to a scheduled post — status changes from DRAFT to SCHEDULED
PublishPublish immediately — status goes DRAFTPUBLISHINGPUBLISHED
Submit for ApprovalCreate an ApprovalRequest and enter the review workflow
DuplicateClone the post as a new draft for repurposing or A/B variations
DeletePermanently remove the draft

Accessing Drafts

Navigate to the Drafts page to see all posts with status: DRAFT in your workspace. Each draft shows:

  • Caption preview and media thumbnail
  • Creation date and last modified date
  • Author (userId)
  • Approval status (if submitted for review)

Approval Workflow

For teams and agencies, UniPulse supports a structured approval process. When enabled, content must be reviewed and approved before it can be published or scheduled.

The ApprovalRequest Model

ApprovalRequest
├── status → PENDING_APPROVAL | APPROVED | REJECTED | CHANGES_REQUESTED
├── reviewNote → Feedback from the reviewer
├── requestedBy → User ID of the person who submitted for approval
├── reviewedBy → User ID of the reviewer who took action
├── postId → The post under review
└── createdAt → When the request was submitted

Approval Status Flow

PENDING_APPROVAL → APPROVED → Post can be scheduled/published
→ REJECTED → Post returns to creator
→ CHANGES_REQUESTED → Creator revises, resubmits

How the Approval Process Works

Step 1 — Submit for Approval

An Editor (or any role that requires approval) creates a post in the Composer and clicks Submit for Approval instead of publishing directly. This:

  • Keeps the post in DRAFT status
  • Creates an ApprovalRequest with status: PENDING_APPROVAL
  • Sets requestedBy to the submitting user's ID
  • Notifies eligible reviewers

Step 2 — Review

An Admin or Owner receives a notification and opens the post for review. They can:

ActionApprovalRequest StatusWhat Happens Next
ApproveAPPROVEDPost can be published or scheduled
RejectREJECTEDPost returns to creator with reviewNote feedback
Request ChangesCHANGES_REQUESTEDCreator is notified to revise specific aspects

The reviewer's user ID is recorded in the reviewedBy field, and any feedback goes into reviewNote.

Step 3 — Act on Feedback

If the post was rejected or changes were requested:

  1. The creator receives a notification with the reviewer's reviewNote
  2. They open the post in the Composer and make revisions
  3. They resubmit for approval — a new ApprovalRequest is created

Step 4 — Publish

Once approved, the creator (or the reviewer) can:

  • Publish immediately — Post enters the publish queue
  • Schedule — Post gets a Schedule record and enters the schedule queue
info

Approved posts are not auto-published. Approval grants permission to publish — the actual publish or schedule action is a separate step.


Setting Up Approvals

Go to Settings > Workspace > Approval Settings to configure:

SettingDescription
Enable approvalsToggle approval requirements on/off for the workspace
Roles requiring approvalSelect which roles (e.g., Editor) must submit for review
Notification preferencesHow reviewers are notified (in-app, email, or both)

Agency Workflows 🏢

Agencies managing multiple client workspaces benefit from approval workflows in several ways:

  • Client approval — Require clients to approve content before it goes live on their accounts
  • Multi-tier review — Editors draft, account managers review, clients give final approval
  • Audit trail — Every ApprovalRequest records who submitted, who reviewed, and what feedback was given
tip

Agencies can require client approval before publishing. See Agency Mode for role-based workflows and permission configuration.


Approval Status Quick Reference

StatusIconMeaning
PENDING_APPROVAL🟡Waiting for a reviewer to take action
APPROVED🟢Ready to publish or schedule
REJECTED🔴Reviewer declined — check reviewNote for feedback
CHANGES_REQUESTED🟠Reviewer wants specific revisions before re-review

Behind the Scenes

The approval system is decoupled from the publishing pipeline. An ApprovalRequest is a standalone record that references a Post — it does not modify the post's status field. This means:

  • A post stays in DRAFT status throughout the approval process
  • Only after approval does the user choose to schedule (→ SCHEDULED) or publish (→ PUBLISHING)
  • Multiple approval rounds create separate ApprovalRequest records, preserving the full review history