# Approvals: submit, approve or reject a post

Editors submit their posts for approval. The workspace owner and Admins approve or reject them in Team → My Approvals or the Feed, and an approved post with a date is scheduled straight away.

Last checked: Oct 8, 2026 on the live app. Source: https://heropost.ai/docs/team/approvals/

## How approvals work

Approvals follow the roles. There's no switch to turn them on.

- **Editors always submit.** In the post editor they get **Submit for Approval** instead of **Publish All** and **Schedule All**.
- **The owner and Admins review.** They approve or reject in **Team → My Approvals** or in the Feed. Their own posts don't need approval.
- **The owner's plan must include approvals:** Pro, Agency, Lifetime Growth and Lifetime Agency do, and so does the free trial. See [Team seats on each plan](/docs/team/seats/).

| Status | What it means |
|---|---|
| **Draft** | The Editor is still working on it. |
| **Pending Approval** | Submitted, waiting for the owner or an Admin. Nobody can schedule or publish it in this state. |
| **Scheduled** | Approved, with a date and time. It goes out by itself. |
| Back to **Draft** | Approved without a date, rejected, or taken back by its author. |

## Submit a post (Editors)

1. Create the post, or open a draft.
2. To have it go out at a set time, click **Schedule** at the top of the post, pick the day and time, and press **Done**. Without a date, an approver publishes or schedules it after approving.
3. Press **Submit for Approval** at the bottom right. It stays grayed out until the post is complete: hover over it to see what's missing.
4. Heropost shows **Post submitted for approval**. The post reloads with the banner "This post is pending approval. Editing will withdraw it from review."

[Screenshot: The bottom of the post editor for an Editor, with the Submit for Approval button]

While it waits, the post shows **Pending Approval** in **Content → Drafts**, in the Feed and in **Team → My Approvals**.

The workspace owner gets an **Approval Request** alert in the bell, unless they turned it off. Admins don't get an alert, so they check **My Approvals** or the Feed. Heropost sends no emails for approvals. See [Notifications](/docs/team/notifications/).

## Review posts (owner and Admins)

1. Open **Team → My Approvals**. The **Team** item in the left menu opens it.
2. Choose the **Pending** tab. Each card shows the first image, the title (or "Untitled post"), the start of the text, and who submitted it and when.
3. Press **View** to open the post in the editor and check it in full.
4. Press **Approve**. Or press **Reject**, type a reason in **Reason for rejection (optional)…** if you like, and press **Confirm Reject**.

[Screenshot: My Approvals with a pending post showing View, Approve and Reject, an approved post, and a rejected post with its feedback]

Heropost shows **Post approved** or **Post rejected**. Approve has no confirmation step. The page lists every request in the workspace, not only the ones you handled: the tabs **All**, **Pending**, **Approved** and **Rejected** show a count each, and rejected cards show "Feedback: {your reason}".

[Screenshot: A pending post in reject mode, with the Reason for rejection box, Confirm Reject and Cancel]

**In the Feed:** posts waiting for approval have **Approve** and **Reject** under them. There's no reason box there, so use the post's comments to explain. See [The Feed](/docs/calendar/feed/).

**On a phone:** open the menu at the top of the screen and tap **Team**; the **Approvals** chip lists the requests. **Reject** asks for the reason in a small window ("Reason for rejection (optional):"). Pending cards don't open the post, so read it in the Feed first.

## What happens after you decide

| You | The post |
|---|---|
| Approve a post with a date and time still ahead | becomes **Scheduled** and goes out at that time. |
| Approve a post with no date | goes back to **Draft**. The owner or an Admin opens it and presses **Publish All** or **Schedule All**. |
| Approve a post whose time has already passed | isn't approved. Heropost says "The scheduled time for this post passed while it was awaiting review. Reschedule the post and approve again, or reject it with feedback." |
| Reject | goes back to **Draft**, with your reason. |

The person who submitted it gets **Post Approved** or **Post Rejected** in the bell, with your reason, unless they turned those alerts off.

## When the time passed while the post waited

You have two options:

- **Reject it** with a reason such as "Please pick a new time." The Editor sets a new date with **Schedule** and submits it again.
- **Reschedule it yourself** (owner or Admin): open the post, press **Edit** to take it out of review, set a new time with **Schedule**, and press **Schedule All**.

## Change or take back a submitted post

- **The author takes it back:** open the post and press **Edit** under the banner, or press **Withdraw** in the Feed ("Withdraw approval request and return to Draft"). The post goes back to Draft. In **My Approvals**, the request moves to **Rejected** with the note "Withdrawn by editor".
- **Who can take it back:** Editors, only their own posts. The owner and Admins, any post.
- **No one is told** when a post is taken back.
- **After a rejection:** edit the post and press **Submit for Approval** again. That creates a new request; the old one stays in the list.

**Editing a scheduled post needs approval again.** If an Editor presses **Edit** on a scheduled post, it goes back to Draft and is no longer scheduled. It won't go out until they submit it again and it's approved.
## Approvals and AI

- **Hero_Agent:** when an Editor works with Hero_Agent, it can send their posts for approval instead of scheduling them. Hero_Agent's own **Approve** and **Deny** cards on Home are something else: they ask you to confirm what it's about to do. See [Hero_Agent](/docs/ai/hero-agent/).
- **Connected AI tools** can submit a post for approval. It appears in **My Approvals** like any other.
- **To stop an AI tool from publishing on its own,** switch off **Publish and schedule** in its permissions. It can still write drafts and send them for approval. See [Links, permissions and activity](/docs/ai-tools/links-permissions-activity/).
- **Workspaces whose approval setting is Required:** a connected AI tool can't schedule or publish a post there until the owner or an Admin approves it, even with **Publish and schedule** on. The tool is told: "This workspace requires human approval before posts can be scheduled or published. …". This setting applies to AI tools only. It doesn't change what people in the workspace can do.

## If it doesn't work

| What you see | What it means | What to do |
|---|---|---|
| No **Submit for Approval** button | You're the owner or an Admin (you schedule directly), you're a Viewer, or the post isn't a draft. | If it's scheduled, press **Edit** first. If it's pending, it's already submitted. |
| **Submit for Approval** is grayed out | The post is incomplete, for example "Please select accounts for {Network}" or "Post incomplete. {error}". | Hover over the button, fix what it names, and try again. |
| "Viewers cannot submit posts for approval." | Viewers can't submit posts. | Ask for the Editor role. |
| "Only draft posts can be submitted for approval." | The post is scheduled, pending or published. | Press **Edit** to turn a scheduled post back into a draft. |
| No **Approve** or **Reject** buttons | You're an Editor or a Viewer, or the post isn't pending. | Ask the owner or an Admin. |
| "Looks like you've reached the limit of your plan. Please upgrade your account to access for features." on **My Approvals** or the Feed | The owner's plan doesn't include approvals. | See [Team seats on each plan](/docs/team/seats/). |
| "The scheduled time for this post passed while it was awaiting review. …" | The post's time went by while it waited. | See [When the time passed](#when-the-time-passed-while-the-post-waited). |
| "This approval has already been reviewed." | Someone else approved or rejected it first. | Refresh the page. |
| "Post status has changed since approval was submitted." | The post was taken back or changed. | Refresh, then check **Content → Drafts**. |
| "The associated post no longer exists." | The post was deleted. | Nothing to approve. |
| "You don't have permission to review approvals." | Only the owner and Admins can review. | Ask them. |
| "Post {id} is pending approval. It must be approved or rejected in Team > Approvals before it can be scheduled or published." | Someone tried to schedule or publish a post that's waiting. | Approve or reject it first. |
| "Only the workspace owner or an admin can perform this action." | An Editor tried to take back someone else's post. | Ask the author, the owner or an Admin. |

## Questions

**Can I let one Editor publish without approval?**

Make them an Admin. Admins publish directly, and they can also approve posts and manage the team. See [Roles and permissions](/docs/team/roles-and-permissions/).


**Can I require approval for Admins too?**

No. Only Editors submit posts for approval.


**Do approvers get an email when a post is submitted?**

No. The workspace owner gets an alert in the bell. Admins see waiting posts in **Team → My Approvals** and the Feed.


**Does a post need more than one approval?**

No. One approval from the owner or any Admin is enough.


**How do I ask for changes instead of rejecting?**

Reject with a reason. The post goes back to the Editor as a draft with your feedback, and they submit it again when it's ready.
