Skip to main content

Automation / 6 min read

Build a review-first marketing workflow with ChatGPT

Create a saved workflow draft that reads one listing, asks for approval and renders a poster only after approval.

What you need

  • An authorized AgentOS MCP connection in ChatGPT or another compatible AI client.
  • One listing ID, a saved poster template ID, and permission to use the selected photos.
  • A reviewer and a clear decision: approve the prepared inputs or reject them.

A prompt you can use

Replace the bracketed placeholders with your own details. If you do not have an ID, ask the AI to find the item you can access by name, address or MLS number. Check the match before using its returned ID.

If I have not provided an ID, first discover the resources I can access by name, address or MLS number as supported for that resource, show the matches, and ask me to confirm before using the returned ID. Using my authorized AgentOS connection, build a workflow draft for listing [LISTING_ID] and poster template [TEMPLATE_ID]. Read the current catalog and both node and template contracts first. Read the listing facts and allowed photos, map only required template inputs, and show those inputs in a human review. Render one poster only on explicit approval; rejection must end without rendering. Do not add sending or publishing. Validate and save the draft, then return its ID, revision, trigger, review contents and external effects. Do not publish, enable or run it yet.

How the work flows

  1. Manual trigger
  2. listing_read
  3. Map template inputs
  4. bsquare-human-input
  5. Approved: media_render / Rejected: stop

This is the intended sequence, not a saved or executed workflow. Ask the AI to implement it against the currently supported tools and report the actual state.

  1. 01

    Make the review concrete

    Ask the AI to include the listing identity, source update time, chosen photo IDs and full proposed copy in the review payload. A generic “continue?” question is not enough to catch a wrong property or stale price.

  2. 02

    Keep approval and rendering connected

    The supported human-input node can pause and resume a run. Its rejection result must lead away from media_render. Ask the AI to inspect the current human-input contract and validate the branch instead of inventing an approval node or a custom pause mechanism.

  3. 03

    Test both decisions before enabling

    After reviewing the saved revision and any rendering cost, authorize one controlled run. Reject it first and verify no media operation was created. In a separate authorized run, approve the exact inputs and check the delivered artifact. Rendering does not authorize sharing.

Verify the result

  • Saved workflow ID and accepted revision are returned.
  • Rejection produces no render; approval returns a delivered artifact reference.
  • No email, social publishing or other external distribution step exists.

When something fails

If validation rejects a field or branch, ask for the exact issue and repair the same draft. If a run times out, inspect that run and operation before retrying; do not submit a second render blindly.