Skip to content
Reading with an AI assistant?View as MarkdownOpen in ClaudeOpen in ChatGPT

Guides

Publish to Google Business Profile with the API

A Google Business Profile post goes out with the same POST /v1/posts call as every other platform. The google_business overrides choose the post type (a "What's new" update, an event or an offer), add event dates and offer details, and add a button.

Browse docs

6 min read

What do you need before you publish?#

You need one connected account for the platform. Connect it in the SkedCast console. If a client owns the account, create a connect link with POST /v1/clients/{id}/connect-invites and send it to them. They authorize from that page without a SkedCast login.

GET /v1/accounts lists the connected accounts with their ids. Pass that id in targets.accountIds below.

How do you schedule a Google Business Profile post with the API?#

bash
curl -X POST https://api.skedcast.com/v1/posts \
  -H "Authorization: Bearer sked_live_YOUR_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "clientId": "<clientId>",
    "content": "Launch day is here 🚀",
    "mediaIds": ["<mediaAssetId>"],
    "targets": { "mode": "selection", "accountIds": ["<google_businessAccountId>"] },
    "schedule": { "type": "at", "scheduledAt": "2030-01-15T15:00:00Z" }
  }'
A minimal Google Business Profile post, scheduled for a specific time.

Which Google Business Profile fields can you set?#

Put everything platform-specific in one variants entry with "platform": "google_business" and an overrides object. Send only google_business keys on a google_business variant. SkedCast reads the keys in the table below and ignores the rest.

FieldTypeValues / defaultNotes
topicTypeenumSTANDARD (default) \| EVENT \| OFFERThe post type: a "What's new" update, an event or an offer.
eventTitlestring—Required for EVENT and OFFER: the event or offer title.
eventStart, eventEndYYYY-MM-DD or YYYY-MM-DDTHH:MM—Required for EVENT and OFFER. The end must not be before the start.
offerCouponCode, offerRedeemUrl, offerTermsstring—OFFER only: a coupon code, an http(s) link to redeem online, and the terms. On another post type they are not sent, with a warning.
callToActionenumBOOK \| ORDER \| SHOP \| LEARN_MORE \| SIGN_UP \| CALLOptional button. CALL uses the phone number on the profile and takes no link.
callToActionUrlstring (https url)—Required with every button except CALL: where the button goes.

How do you add Google Business Profile-specific settings?#

json
{
  "clientId": "<clientId>",
  "content": "Two-for-one cinnamon buns all week.",
  "mediaIds": ["<photoAssetId>"],
  "targets": { "mode": "selection", "accountIds": ["<googleBusinessAccountId>"] },
  "variants": [
    {
      "platform": "google_business",
      "overrides": {
        "topicType": "OFFER",
        "eventTitle": "Two-for-one cinnamon buns",
        "eventStart": "2030-01-15",
        "eventEnd": "2030-01-21",
        "offerCouponCode": "BUNS2",
        "callToAction": "ORDER",
        "callToActionUrl": "https://example.com/order"
      }
    }
  ],
  "schedule": { "type": "at", "scheduledAt": "2030-01-15T15:00:00Z" }
}
The same POST /posts body, with a variants entry added.

How do you check that the post published?#

Publishing creates one post target per account. GET /v1/post-targets/{id} (or GET /v1/posts/{id}) reports status, plus externalId (Google Business Profile's own post id) and permalink (its public URL) once published. To avoid polling, subscribe to the target.published and target.failed webhooks (see the webhooks guide).

google business profileapipublish

FAQ

Can a Google Business Profile post include a video or several photos?
No. A post carries at most one photo, JPG or PNG, and a "What's new" post can be text only. The text is up to 1,500 characters.
Does Google Business Profile support a first comment?
No. Google Business Profile posts have no comments, so firstComment is not used for this platform.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.