Skip to main content
POST
Call connections.set_page_cta

Authorizations

Authorization
string
header
required

An API key minted at Settings › API & MCP. Send it as Authorization: Bearer <key>. A key carries its holder's own permissions, resolved on every call — revoking a membership closes the key's reach immediately. Keep it in an environment variable (GOOSY_API_KEY), never in a committed file.

Headers

x-request-id
string

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Maximum string length: 128

Body

application/json
type
string
required

The button label, as one of Facebook's exact values — e.g. BOOK_NOW, CALL_NOW, SHOP_NOW, SIGN_UP, LEARN_MORE, CONTACT_US, REQUEST_QUOTE, GET_DIRECTIONS. Not every Page can run every button; if Facebook refuses one, say so and offer a different one rather than retrying the same value.

web_destination_type
string

Where the button sends people, as one of Facebook's exact values — WEBSITE for a link, EMAIL for an address, NONE for a button with no destination. Leave it out for a plain website or phone button: it is derived from what you supply. Required for an EMAIL button.

web_url
string

The full https link the button opens. Required for a button that sends people to a website; leave it out for CALL_NOW.

phone_number
string

For CALL_NOW: the number in full international form, starting with + (e.g. +14155550123). A national-format number dials wrong for half the callers and is refused.

email_address
string

For an email-destination button: the address to open.

workspace
string

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Minimum string length: 1

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

The tool ran and answered.

ok
boolean
required
page_name
string
required
operation
enum<string>
required
Available options:
created,
updated
call_to_action
object
required
workspace
string
required

The slug of the workspace this call ran in.

working_in
object
required

Which workspace this call ran in, and how that was decided. Present on every workspace-scoped result.