Set up a surface on a page
surface_setupThe way to add a surface to a page, in one step: the content fields it swaps, the goals it optimizes, and the variants — with the integration bundle deployed. Returns the install guide for adding the snippet to that page. Ask the user to choose the fields, goals and variants first; the new_surface prompt walks through it. Prefer data-attribute selectors such as [data-surface-field="headline"], added to the page source. Variants go live as soon as the snippet is deployed. Counts toward the plan's surface limit; a name already used in the organization is rejected.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"page_url": "<page_url>",
"fields": "<fields>",
"goals": "<goals>",
"variants": "<variants>"
},
"name": "surface_setup"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Unique within the organization. | |
| goals | Yes | What success looks like; the first is the one the bandit optimizes. | |
| fields | Yes | Page elements each variant replaces. | |
| page_url | Yes | The live URL of the page. | |
| variants | Yes | Exactly one is the control: the page's current copy, setting every field. | |
| description | No | Optional note shown in the dashboard. |