Create Local Post

google_business_profile.create_local_post
ActionBusiness appsconnection required

Calls the Google Business Profile API with the connection's credentials.

Publish a local post on a location.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google Business Profile
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
account_id, token_uri
Resolved by
config.connection_id, else node.connection_id

Configuration

10 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
location_id
Location, as locations/12345, accounts/1/locations/12345 or just 12345.
stringYes——locations/12345678901234567890
summary
The body of the post as customers will read it on Google.
stringNo———
topic_type
What kind of post this is; Google renders each differently.
stringNoSTANDARDone of "STANDARD", "EVENT", "OFFER", "ALERT"—
language_code
BCP-47 language of the post, e.g. en or en-GB.
stringNo———
call_to_action
The button, e.g. {"actionType": "LEARN_MORE", "url": "https://example.com"}. actionType is one of BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP or CALL.
objectNo——{"actionType":"LEARN_MORE","url":"https://example.com"}
media
Media items, e.g. [{"mediaFormat": "PHOTO", "sourceUrl": "https://…/a.jpg"}].
arrayNo—array of object—
event
Event details (title and schedule); required when topic_type is EVENT or OFFER.
objectNo———
offer
Offer details such as couponCode, redeemOnlineUrl and termsConditions.
objectNo———
alert_type
The alert this post is about; only meaningful when topic_type is ALERT.
stringNo———
account_id
Business Profile account, as accounts/12345 or just 12345. Overrides the account id stored on the connection.
stringNo———
  • At least one of summary, media, event, offer must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "call_to_action": {
    "actionType": "LEARN_MORE",
    "url": "https://example.com"
  },
  "location_id": "locations/12345678901234567890",
  "topic_type": "STANDARD"
}

Output

One shape.

result

FieldTypeExample
name
Full resource name of the local post.
string—
state
PROCESSING, LIVE, REJECTED, SCHEDULED or RECURRING.
string—
topic_type
STANDARD, EVENT, OFFER or ALERT.
string—
summary
The post body Google stored.
string—
search_url
Shareable Google Search link, once the post is live.
string—
create_time
When the post was created (RFC 3339).
string—
update_time
When the post last changed (RFC 3339).
string—
post
The whole LocalPost object as Google returned it.
object—
{
  "create_time": "",
  "name": "",
  "post": {},
  "search_url": "",
  "state": "",
  "summary": "",
  "topic_type": "",
  "update_time": ""
}

Notes

  • Google reviews a new post asynchronously: state is PROCESSING until it becomes LIVE or REJECTED, so branch on state rather than on success.

See Create Local Post run in a workflow.

In a technical demo we add the Google Business Profile connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.