# Social post approval board that pushes to Agorapulse

> Write, review and sign off social posts in one place, then send only approved copy to Agorapulse with the approver on record.

- Workflow type: app
- Services: Agorapulse, Slack Bot
- Categories: Marketing, Operations
- Published: 2026-08-14

## What it does

- Gives your team a review board with columns for Draft, Internal review, Client approved and Scheduled, so every post has an obvious owner and next step
- Keeps the full comment thread and every version of the copy on the card, so nobody schedules an old draft or loses feedback in an email chain
- Lets approvers open a filtered view of only the posts waiting on them and either approve or send a post back with a required comment
- Creates the scheduled post in Agorapulse across the chosen social profiles once it is approved, then messages the next reviewer or account manager in Slack
- Blocks anything from reaching Agorapulse until an approver and a timestamp are recorded on the card

## What you'll need

- An Agorapulse account on a plan that includes API access, with your social profiles already connected
- A Slack workspace where the app can post updates to your team
- The names of the people who approve posts and what each of them signs off on, such as an editor, an account manager, a client contact or legal

## Prompt

Build me a social post review board that my team works out of, replacing the spreadsheet and email chain we use today for client sign off. The board has four columns: Draft, Internal review, Client approved and Scheduled. Cards move left to right, and the app itself is the source of truth for everything before publishing: copy, images, versions, comments and approval state. Only at the very end does an approved card get pushed into Agorapulse.

A card is one planned post. On the card a writer composes the copy, picks the social profiles to publish to, and sets an intended publish time. Load the profile picker from Get Workspace Profiles, and also load List Workspace Menu Groups so the writer can pick a whole profile folder at once instead of ticking profiles one by one. Show the network for each profile next to its name, since the copy and the image rules differ per network.

Images attach through the three step upload flow. Call Create Media Upload Slot to get a presigned upload URL, PUT the file bytes straight to that URL, and do not send the X-API-KEY header on that PUT because the presigned URL points at Amazon S3 rather than the Agorapulse API. Then poll Get Media Status until it reaches a terminal state and surface the per network compatibility it returns, so the writer can confirm the image is actually usable on every network the card targets before the card advances. If an upload slot has expired the API returns 410, so request a fresh slot and retry rather than failing the card.

Approval is the point of the app, so model approvers as roles rather than one generic approve button. A card names who it is waiting on, for example an editor, an account manager, a client contact or a legal reviewer. Each approver gets a filtered view showing only the cards currently waiting on them, and from that view they can either approve the card or send it back to Draft with a comment that is required rather than optional. Sending back should always explain why.

Every card keeps its full comment thread and its version history inside the app. Each edit to the copy creates a new version stamped with the author and time, and an approval records the exact version that was approved. If the copy changes after sign off, the card returns to review instead of carrying the stale approval forward, because the failure we are trying to prevent is the wrong version getting scheduled.

When a card reaches Client approved, a Schedule action creates the post in Agorapulse with Create Simple Draft (Legacy), sending the approved copy, the uploaded media and the intended publish time across all the selected profiles in one call. On success, store whatever identifiers come back on the card, move the card to Scheduled, and lock the copy from further editing so the board keeps matching what was actually sent.

Never let a card reach Agorapulse without a recorded approver and an approval timestamp. Disable the Schedule action while either is missing, show the approver name, role and approval time on the card, and repeat them in the confirmation dialog before the push happens.

After a card is scheduled, send a Slack message with the Slack Bot Send a Message action to the next reviewer or the account manager, including the post copy, the profiles it went to and the scheduled time. Also send a Slack message when a card enters internal review and when a card is sent back, so nobody has to watch the board to know something needs them. Let me configure which channel or person receives each of these.

Alongside the board, show a panel of campaign notes for the week being planned into, loaded with Search Calendar Notes and filtered to the visible week, so writers can see what the campaign calendar says while they draft. Let the writer change the week the board and the notes panel are focused on.

One important constraint to design around: Agorapulse can create posts but offers no operation to read existing publishing posts or drafts back out. So treat the push as a one way handoff and do not build any view that tries to list drafts already sitting in Agorapulse. All pre publish state lives in the app's own storage.

## How to customize

- Rename or add board columns to match your own stages, such as adding a legal review step between internal review and client approval
- Choose who approves what, and whether a post needs one sign off or several before it can be scheduled
- Pick which Slack channel or person gets pinged when a post enters review, gets sent back, or goes out to be scheduled
- Decide whether images must pass the per network usability check before a post can leave the draft column

## FAQ

### Can I see posts that are already sitting in Agorapulse?

No, and that is on purpose. Agorapulse lets us create scheduled posts but does not let us read existing drafts back out. That is exactly why this app holds the copy, comments, versions and approvals itself, and treats sending to Agorapulse as a one way handoff at the very end.

### What happens to a post after it is approved?

The app creates the scheduled post in Agorapulse across the social profiles picked on the card, moves the card to the Scheduled column, and posts a Slack message to the next reviewer or the account manager. The card keeps a record of who approved it and when.

### Can a client approve posts without an Agorapulse login?

Yes. Approvers work entirely inside this app, so you can involve clients, editors or legal reviewers who never touch your Agorapulse account. Only the app connects to Agorapulse.

### How do I know an image will actually work on each network?

When a writer attaches an image, the app checks it against each network the post is targeting and shows whether it is usable there, so you find out before the post is approved rather than when it fails to go out.

### Can someone accidentally schedule the wrong version of a post?

No. Every edit creates a new version on the card, and an approval is tied to the exact version that was approved. If the copy changes after sign off, the post goes back for approval instead of quietly going out.

### Does this replace our spreadsheet and email approval chain?

That is the point. The board is the single place where copy is written, discussed, approved and scheduled, so there is no separate tracker to keep in sync and no approvals buried in someone's inbox.

Use this prompt in General Input: https://www.generalinput.com/prompts/social-post-approval-board-that-pushes-to-agorapulse