Social Posts for Listings
Every listing deserves more than one caption. Instagram readers want a hook; LinkedIn readers want analysis; Facebook readers want conversation; X / TikTok / Threads readers want a one-liner. My Agent Platform’s Social Posts tool drafts all four variants from one prompt, in one BYOK LiteLLM call — same factual claims, four voices — and reviews them through a Fair Housing scanner before you publish a word.
What it does
Section titled “What it does”Tool #07 turns a listing (or a free-form prompt) into four caption variants in a single shot:
- Instagram caption — hook in the first 125 characters, emoji-friendly body, 5-10 hashtags as a closing block.
- Facebook caption — 40-80 words, conversational, 1-2 inline hashtags max.
- LinkedIn caption — 200-600 words with analytical framing, 3-5 inline hashtags, plus your saved Voice Template prepended verbatim if you have one configured.
- Generic caption — 280 characters or less. Used for X / TikTok / Pinterest / Threads / YouTube / Bluesky in v1.
One LLM call, four caption strings. The same hashtag suggester runs across every platform, drawing from a curated NAR-aligned seed catalog so suggestions are Fair Housing-clean before they ever hit your draft.
How to use it
Section titled “How to use it”The simplest flow is the dashboard:
- Open Dashboard → Social Posts.
- Click New Post.
- Pick a listing from your Active Listings DB (or skip and write a free-form prompt).
- Choose the post type —
just_listed,open_house,price_change,under_contract,sold, orgeneric. - Pick the platforms (Instagram, Facebook, LinkedIn are first-class; the rest get the generic variant).
- Add any free-form context (open-house times, what to highlight) and click Generate.
- Review all four variants side-by-side, with hashtag suggestions per platform.
- Either click Copy to paste the captions into your tools of choice, or click Publish to send through PostForMe.
You can also drive the whole flow through chat — your agent will call re_social_post_create with the right listing_id and post_type, surface the four variants, then either wait for your sign-off or publish on auto-approve depending on your trust settings.
If a draft isn’t quite right, hit Regenerate (free — same listing, fresh LLM call). If it’s offensive enough to land you in court, the FH scanner will refuse to publish it without an explicit override (audit-logged, every time).
Drafts are free, publishing costs credits
Section titled “Drafts are free, publishing costs credits”Drafting is unmetered. Publishing consumes 1 social-post credit per platform from the existing shared social-post allowance pool — the same ledger that powers the platform’s generic social tool. Publishing to Instagram + Facebook + LinkedIn at once costs 3 credits, deducted only after PostForMe confirms each platform.
- Each paid tier ships a monthly social-post allowance (Standard: 150/month; Pro: 300/month).
- Out of allowance? Buy a credit pack from Settings → Integrations → Social post credits. Packs never expire and are spent only after the monthly bucket runs dry.
- If PostForMe fails on one platform but succeeds on another, only the successful platform consumes a credit. No double-charging on partial failures.
- Regenerate is always free — it re-runs the LLM but doesn’t call PostForMe. Use it freely to iterate.
Fair Housing
Section titled “Fair Housing”Every draft runs through the Fair Housing scanner — over the concatenated text of all four caption variants in one pass, against the same NAR-derived phrase catalog that powers the Listing Description tool.
- Soft warnings are advisory. The dashboard surfaces them with a yellow banner; publishing still works without an override. Use them as nudges to tighten your wording.
- Hard blocks stop publish dead. The button reads “Override required” and clicking through writes an
re_social_posts.publishedaudit log row withallow_overrides=Trueand the full FH findings JSON. You and the platform admin both have the receipts.
The hashtag suggester pulls only from FH-clean seeds — but the LLM can still generate phrasing in the captions themselves that trips the scanner (“perfect for families”, “great for kids”, “exclusive neighborhood”). The combined-text scan catches both.
v1 limitations
Section titled “v1 limitations”A few things we deliberately deferred:
- No per-platform image generation. v1 reuses the listing’s hero photo (auto-attached when you pick a listing) plus any URLs you supply. True image generation will land in v2.
media_pathsaccepts workspace files. When your agent passes file paths from its workspace, the bridge uploads them automatically (catbox.moe / 0x0.st) and merges the resulting public URLs into the post. Upload failures don’t block draft creation.media_urlsaccepts existing public URLs directly — Cloudinary, S3, Imgur, anywhere PostForMe can reach.- X / TikTok / Pinterest / Threads / YouTube / Bluesky all receive the generic caption variant in v1 — same body, no platform-specific tone. We picked this over running 9 separate LLM calls per draft.
Hashtag suggester
Section titled “Hashtag suggester”The hashtag suggester ships ~80 NAR-aligned phrases across five buckets — realestate_generic, compliance_safe, listing_type, lifestyle, location. Per-platform counts default to 8 (IG), 4 (LinkedIn), 2 (FB), 2 (generic).
Suggestions are advisory — the LLM can override or augment them, and you can edit the final caption to add or drop tags. The suggester just tries to pick a base-rate of safe, listing-relevant tags so you don’t have to start from scratch. Curated FH-clean at insert time so a #familyfriendly or #perfectfor will never sneak in via the seed catalog.
If you want full control, the catalog is also queryable via GET /api/agents/{agent_id}/social-posts/hashtag-seeds — useful for advanced agents that want to score their own picks.
Related
Section titled “Related”- Active Listings DB — the source of
listing_idfor every just-listed / open-house / price-change post. - Listing Description Generator — same Fair Housing seed catalog, same Voice Profile, designed to produce the long-form copy that lives on the MLS / Zillow / your site, while Tool #07 produces the short-form social copy for the same property.