Post to Google Business Profile
post_to_google_businessPublish text, one photo, and a call-to-action button directly to a Google Business Profile listing for immediate public visibility.
Instructions
Publish a Post to the brand’s Google Business Profile — the panel that appears on Google Search and Maps for the business. Text, optionally ONE PHOTO, and a call-to-action button. Google’s Posts API accepts NO VIDEO, so pass a still image. This PUBLISHES immediately and publicly on the business listing — show the user the exact text, photo and button and get an explicit yes BEFORE calling. If the account manages several listings, call list_business_locations first and pass locationId. EVENT and OFFER posts both REQUIRE a title and a start date (Google’s rule). On an OFFER, Google IGNORES the button’s link — pass redeemOnlineUrl instead. A CALL button dials the number on the listing and takes no link. Needs Google Business Profile connected (Settings > Connectors > Google Business Profile).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hook | No | WHAT ANGLE this post is built on, recorded only at publish time. post_performance ranks hooks on it (a winner needs 5 posts sharing ONE hook), so pass a list_hooks id (e.g. "direct_callout", "before_after") or reuse your own wording EXACTLY across a campaign. Omit it and this post never votes on which hook works. | |
| link | No | the URL the button opens — not for CALL, and ignored on an OFFER | |
| brand | No | WHICH PROFILE this post belongs to — id or exact name from list_brands (a shared workspace: its profile id). Beats the connection's pin for THIS CALL ONLY; a name that matches no profile, or two, is REFUSED and nothing is posted. | |
| title | No | headline — REQUIRED for EVENT and OFFER | |
| ideaId | No | short id of the content-plan idea this post came from | |
| recipe | No | the post's FORMAT id, e.g. "slideshow" or "imessage_chat" — post_performance groups by it, so reuse one id per format | |
| endDate | No | YYYY-MM-DD, defaults to startDate | |
| subject | No | WHAT THIS POST IS ABOUT — product, feature, offer or theme (e.g. "winter coat", "free trial"). post_performance's second grouping axis: reuse the exact wording, as with hook. | |
| summary | No | the body text of the Post | |
| imageUrl | No | a Hermoso render image URL (or an upload_file url) to show on the Post | |
| startDate | No | YYYY-MM-DD — REQUIRED for EVENT and OFFER | |
| topicType | No | default STANDARD | |
| actionType | No | the button on the Post | |
| couponCode | No | OFFER only | |
| locationId | No | which listing, e.g. 'locations/123' from list_business_locations — only needed when the account manages more than one | |
| languageCode | No | BCP-47 language of the Post, default 'en' | |
| redeemOnlineUrl | No | OFFER only — this is the link Google actually uses on an offer | |
| termsConditions | No | OFFER only |