# Docs - [Surface Documentation](https://www.withsurface.com/docs/): The marketing system that learns what creates revenue and uses that knowledge to run better campaigns. - [What Is Surface?](https://www.withsurface.com/docs/what-is-surface): What Surface does, what it replaces, and where its intelligence comes from. - [Quickstart](https://www.withsurface.com/docs/quickstart): Tag installed, a form live, and a first lead in the table, in about ten minutes. - [Core Concepts](https://www.withsurface.com/docs/concepts): What environment, lead, Vault, agent, agent action, artifact, segment and profile mean in Surface. - [Choose Your Path](https://www.withsurface.com/docs/choose-your-path): Pick the job that sounds like yours and get a four-step order to read the docs in. - [What's New](https://www.withsurface.com/docs/whats-new): Where Surface announces product changes, and what recently changed in these docs. - Platform: Every product Surface sells, in the order the website sells them. - [The Surface Platform](https://www.withsurface.com/docs/platform): Every product Surface sells, and where each one is documented. - **Agentic Marketer** - SAM - [SAM, the Surface Agentic Marketer](https://www.withsurface.com/docs/platform/sam/overview): Everything a person on your team would do inside the Surface app, done from Slack instead. - [Install and Connect](https://www.withsurface.com/docs/platform/sam/setup): Add SAM to Slack, point it at one Surface environment, and know where its controls live. - **Using It** - [Talking to SAM](https://www.withsurface.com/docs/platform/sam/asking): How to reach it, what it can read, and what to do with an answer once you have one. - [Prompt Library](https://www.withsurface.com/docs/platform/sam/prompts): Prompts worth copying verbatim, and the ones that will disappoint you. - [What It Remembers](https://www.withsurface.com/docs/platform/sam/memory): Teach it once. It reads its own notes before every draft, and you can see and delete all of them. - [Scheduled Posts and the Weekly Digest](https://www.withsurface.com/docs/platform/sam/schedules): The only two times SAM speaks first, and how to make it stop. - **Access and Safety** - [Slack Connect Channels](https://www.withsurface.com/docs/platform/sam/shared-channels): SAM answers your team in a shared channel by default. Letting the other company ask is one command. - [Limits and Guardrails](https://www.withsurface.com/docs/platform/sam/limits): What SAM can reach, what it can change, what it costs you, and what we store. - [Troubleshooting and FAQ](https://www.withsurface.com/docs/platform/sam/troubleshooting): It's quiet, it's generic, it ranked on the wrong metric, plus the questions everyone asks. - **Campaign Engineering** - Vault - [Vault](https://www.withsurface.com/docs/platform/vault/overview): The environment's private Markdown knowledge base. Agents read it before they write, so drafts come back in your words. - [Getting Documents into the Vault](https://www.withsurface.com/docs/platform/vault/getting-docs-in): Three routes in: crawl your website, upload files, or write directly. Here is which one suits which kind of knowledge. - [Folders and Structure](https://www.withsurface.com/docs/platform/vault/structure): The layout we recommend (brand, product, customers, competitors, sales, strategy), and why grouping documents makes them easier to point an agent at. - [Writing in Your Voice](https://www.withsurface.com/docs/platform/vault/voice): How to write a voice document agents can actually follow, and how to correct an agent that keeps getting it wrong. - [Vault and Agents](https://www.withsurface.com/docs/platform/vault/agents): What is documented about agents reading the Vault, how to point one at a document, and how to tell whether a draft actually used it. - [Vault and SAM](https://www.withsurface.com/docs/platform/vault/sam): SAM reads your Vault before it drafts anything, and files good answers back into it with one click. - Campaign Agents - [Campaign Agents](https://www.withsurface.com/docs/platform/campaign-agents/overview): Turn buyer evidence into campaigns that convert: one agent system that gathers proof, plans the work, drafts it, and measures what it produced. - [Evidence](https://www.withsurface.com/docs/platform/campaign-agents/evidence): The cited buyer claims a campaign gets planned from: the four sources they are drawn from, and how to read a claim without over-reading it. - [The Content Agent](https://www.withsurface.com/docs/platform/campaign-agents/content-agent): Drafts the campaign work from your Vault and the claim you picked, and stops at review. - [Competitor Agent](https://www.withsurface.com/docs/platform/campaign-agents/competitor-agent): Watches the competitors you name, tells you what changed and why it matters to you, and files the research in your Vault. - [Review and Publish](https://www.withsurface.com/docs/platform/campaign-agents/review-and-publish): The gate between an agent writing something and the world seeing it: states, reviewers, versions, and publishing. - [Artifacts and the Asset Library](https://www.withsurface.com/docs/platform/campaign-agents/artifacts): Where the durable output of an agent run lives: drafts, the state each one is waiting in, and how images get in and stay reusable. - AI Visibility - [AI Visibility](https://www.withsurface.com/docs/platform/ai-visibility/overview): Measure where your brand appears when buyers ask ChatGPT, Claude, Gemini and Perplexity, then turn the gaps into campaign work. - [Tracked Prompts](https://www.withsurface.com/docs/platform/ai-visibility/tracked-prompts): Choosing the questions worth measuring, organising them by intent, and adding your own. - [Reading the Score](https://www.withsurface.com/docs/platform/ai-visibility/reading-the-score): What visibility, coverage and the per-model breakdown mean, and which movements are worth reacting to. - [Cited Sources](https://www.withsurface.com/docs/platform/ai-visibility/cited-sources): Which domains models pull from when they answer your buyers' questions, and what to do when you are not one of them. - [Acting on Gaps](https://www.withsurface.com/docs/platform/ai-visibility/acting-on-gaps): Turning a visibility gap into campaign work, and measuring whether it moved. - **Lead Intelligence** - Lead Data Layer - [Lead Data Layer](https://www.withsurface.com/docs/platform/leads): One current record per buyer: identity, company, behaviour, source, score and outcome, read by every campaign, agent and integration. - [Lead Sources](https://www.withsurface.com/docs/platform/leads/sources): The four ways a lead enters Surface, what each one can tell you, and how they merge onto one record. - [Enrichment](https://www.withsurface.com/docs/platform/leads/enrichment): What gets resolved from a work email, what to do when a field comes back empty, and how your own providers fit in. - [Segments](https://www.withsurface.com/docs/platform/leads/segments): Named lists of leads, defined by a query rather than maintained by hand. The audience unit workflows, campaigns and routing all target. - [ICP](https://www.withsurface.com/docs/platform/leads/icp): Defining who counts as a fit, so scoring, routing and campaign targeting all agree on the answer. - Lead Agents - [Lead Agents](https://www.withsurface.com/docs/platform/lead-agents/overview): Agents that work your leads rather than just storing them: research, enrichment, signal and scoring, running on every record as it lands. - [Research and Enrichment](https://www.withsurface.com/docs/platform/lead-agents/research-and-enrichment): The two agents that turn an email address into a record with enough context to judge, and how they decide what a fit looks like. - [Signals](https://www.withsurface.com/docs/platform/lead-agents/signals): Funding, hiring and news attached to the lead record, so timing is a field rather than a guess. - [AI Lead Scoring](https://www.withsurface.com/docs/platform/lead-agents/scoring): How the score is built from fit and intent, how to read the distribution, and how to tell whether it is working. - System Agents - [System Agents](https://www.withsurface.com/docs/platform/system-agents/overview): Agents that keep your CRM, marketing automation and data systems current, without a sync project. - [CRM Agents](https://www.withsurface.com/docs/platform/system-agents/crm-agents): Connect a CRM, set the instructions, test on a sample record, then let it run. - **Infrastructure** - Traffic Intelligence - [Surface Tag](https://www.withsurface.com/docs/platform/traffic/surface-tag): The script behind traffic, journeys, AI referrals, funnels and attribution. - [Use the Surface Tag with a Custom Domain](https://www.withsurface.com/docs/platform/traffic/custom-domains): Connect a verified custom domain and route Surface Tag traffic through it - [Traffic Analytics](https://www.withsurface.com/docs/platform/traffic/analytics): Who arrives, from where, and what they were worth, with AI referrals reported by engine instead of collapsed into direct traffic. - [Conversion Funnel](https://www.withsurface.com/docs/platform/traffic/conversion-funnel): Form starts to meetings booked, per URL, with the drop between every pair of steps and what each drop usually means. - Dynamic Lead Forms - [Form Builder](https://www.withsurface.com/docs/platform/forms/builder): Create powerful, conversion-optimized forms with our no-code builder - [Conditional Logic](https://www.withsurface.com/docs/platform/forms/conditional-logic): Control how users move through your form with conditional logic and branching flows - [Workflows](https://www.withsurface.com/docs/platform/forms/workflows): Run follow-up actions automatically on every form submission and website visitor - [Response Table](https://www.withsurface.com/docs/platform/forms/responses): Your central hub for managing all form submissions with advanced filtering and lead insights - [Form Analytics](https://www.withsurface.com/docs/platform/forms/analytics): Track views, starts, completions, drop-offs, and conversion rates to optimize form performance - [Spam Protection](https://www.withsurface.com/docs/platform/forms/spam-protection): Keeping bots out of the lead table without adding friction for real buyers. - Embedding - [Embedding a Surface Form](https://www.withsurface.com/docs/platform/forms/embedding): Six ways to put a Surface form on your site, and how to pick one. - [Inline Form Embed](https://www.withsurface.com/docs/platform/forms/embedding/inline): Embed your form inline with the rest of your page - [Popup Form Embed](https://www.withsurface.com/docs/platform/forms/embedding/popup): Display your form as a popup modal - [Slideover Form Embed](https://www.withsurface.com/docs/platform/forms/embedding/slideover): Display your form as a full page slide-over - [Email Input Field Trigger](https://www.withsurface.com/docs/platform/forms/embedding/input-field): Triggering via email input field submission - [Widget Form Embed](https://www.withsurface.com/docs/platform/forms/embedding/widget): Display your form as a customizable widget on your website - [Direct Link](https://www.withsurface.com/docs/platform/forms/embedding/direct-link): Open the form automatically when the page loads - [Optimize Loading Speed](https://www.withsurface.com/docs/platform/forms/embedding/optimize): Optimize Surface Forms loading speed for better performance - Intelligent Scheduling - [Intelligent Scheduling](https://www.withsurface.com/docs/platform/scheduling/overview): Qualify, route and book in one governed path, with no per-seat pricing and no cap on bookings. - [Routing Rules](https://www.withsurface.com/docs/platform/scheduling/routing): Who takes a qualified lead: the rules Surface routes on, and how to configure them without fighting the ownership your sales team already has. - [Meetings](https://www.withsurface.com/docs/platform/scheduling/meetings): Every booked meeting, what happened to it, and how it is distributed across the team. - **Connect** - Integrations - [Integrations](https://www.withsurface.com/docs/platform/integrations): Every system Surface connects to today, across CRM, communication, scheduling, automation, ads and enrichment, and where each one is documented. - [HubSpot](https://www.withsurface.com/docs/platform/integrations/hubspot): Create and update HubSpot contacts, companies and deals from form submissions - [HubSpot Tracking](https://www.withsurface.com/docs/platform/integrations/hubspot-tracking): Add your HubSpot tracking script to a Surface form. - [Salesforce](https://www.withsurface.com/docs/platform/integrations/salesforce): Connect your forms with Salesforce to automatically create contacts and opportunities - [Slack](https://www.withsurface.com/docs/platform/integrations/slack): Get a Slack notification when someone submits, progresses through or drops off a form - [Zapier](https://www.withsurface.com/docs/platform/integrations/zapier): Use Zapier to send Surface form submission data to other tools and trigger actions. - Build: The developer surface: SDK, API, webhooks, events. - [Build on Surface](https://www.withsurface.com/docs/build): An SDK for rendering forms in your own code, webhooks, a REST API, and browser events. - **Agents** - Your AI Agents - [Surface and Your AI Agents](https://www.withsurface.com/docs/build/agents/overview): Two directions: agents that drive Surface through MCP, and AI agents that read your website. - [Claude](https://www.withsurface.com/docs/build/agents/claude): Claude Desktop, Claude Code and claude.ai against a Surface workspace, including the OAuth path most teams want. - [OpenAI Codex](https://www.withsurface.com/docs/build/agents/codex): Connecting Codex to a Surface workspace, and the jobs it is best at: SDK forms, webhooks, and anything that touches your own repo. - [Grok](https://www.withsurface.com/docs/build/agents/grok): Grok as an MCP client against your workspace, and where xAI does and does not appear in Surface's AI traffic and visibility numbers. - [Other Clients](https://www.withsurface.com/docs/build/agents/other-clients): Cursor, Windsurf, and anything you write yourself: the generic path, and what to check when a client misbehaves. - **Forms in Your Own Code** - Forms SDK - [Surface Forms SDK](https://www.withsurface.com/docs/build/forms-sdk/overview): Build Surface forms as your own pages: your HTML and CSS, Surface's data model, validation, scheduling, enrichment, and tracking - [Quickstart](https://www.withsurface.com/docs/build/forms-sdk/quickstart): Install the Forms SDK, bind a form record to your own HTML, and store your first response - [The Binding Contract](https://www.withsurface.com/docs/build/forms-sdk/binding): The data attribute vocabulary that connects your HTML to the form record - [Navigation and Routing](https://www.withsurface.com/docs/build/forms-sdk/navigation): How visitors move through an SDK form: markers, branching, disqualification, and submit semantics - [Headless API and React](https://www.withsurface.com/docs/build/forms-sdk/headless-and-react): Drive the form engine from code: the form handle, typed answers, events, and the React adapter - [Embedded Schedulers](https://www.withsurface.com/docs/build/forms-sdk/schedulers): Mount a working scheduler for any supported provider with one call; bookings are tracked and saved to the response automatically - [Email Validation](https://www.withsurface.com/docs/build/forms-sdk/email-validation): Deliverability verdicts on visitor email addresses: automatic annotation, on-demand checks, and blocking policies - [Tracking, Attribution, and Enrichment](https://www.withsurface.com/docs/build/forms-sdk/tracking-and-attribution): Analytics vendors, ad conversions, lead journeys, UTM attribution, and real-time enrichment on SDK forms - [Resume, Preview, and Debug](https://www.withsurface.com/docs/build/forms-sdk/resume-and-preview): Continue a response across visits, develop against drafts with zero writes, and see what the SDK is doing - [Building with AI](https://www.withsurface.com/docs/build/forms-sdk/building-with-ai): The MCP authoring loop: create the form record, get the binding contract, validate the HTML, publish, and verify - [Dos and Don'ts](https://www.withsurface.com/docs/build/forms-sdk/dos-and-donts): The rules that keep SDK forms correct - [Troubleshooting](https://www.withsurface.com/docs/build/forms-sdk/troubleshooting): Symptom to cause to check: the SDK form debugging runbook - Webhooks & External Forms - [External HTML Forms Integration](https://www.withsurface.com/docs/build/webhooks/overview): Complete guide to linking and tracking external HTML forms with Surface - [Step 1: Embed Surface Scripts](https://www.withsurface.com/docs/build/webhooks/embedding): Add Surface Scripts to your Site - [Step 2: Create External Form](https://www.withsurface.com/docs/build/webhooks/create-external-form): Create an external form in Surface Labs - [Step 3.1: Create Multi-Step HTML Form](https://www.withsurface.com/docs/build/webhooks/create-multi-step-html-form): Create a multi-step HTML form - [Step 3.2: Modify Form Fields](https://www.withsurface.com/docs/build/webhooks/modify-form-fields): Modify form fields in Multi-Step HTML Form - [Step 3.3: Submit Form](https://www.withsurface.com/docs/build/webhooks/submit-form): Submit Multi-Step HTML Form - **Reference** - API Reference - [API Keys](https://www.withsurface.com/docs/build/api-reference/api-keys): Create and manage API keys for the Surface API - Forms - [Generate Form](https://www.withsurface.com/docs/build/api-reference/forms/generate-form): Create a form from a source template with the API - Responses - [Get All Responses](https://www.withsurface.com/docs/build/api-reference/responses/get-all-responses): Retrieve all form responses for your environment - [Get Form Responses](https://www.withsurface.com/docs/build/api-reference/responses/get-form-responses): Retrieve responses for a specific form - [Component Response Shapes](https://www.withsurface.com/docs/build/api-reference/responses/component-response-shapes): The response shape of every supported component type - Events - [Form Events](https://www.withsurface.com/docs/build/events/form-events): The events Surface forms emit, for use with Google Tag Manager, Google Ads, and Meta Ads. - [Google Tag Manager Integration](https://www.withsurface.com/docs/build/events/google-tag-manager): A step-by-step guide to connect Surface Form events to Google Tag Manager (GTM) - [Google Ads Tracking](https://www.withsurface.com/docs/build/events/google-ads-tracking): Add GTM Container ID to Surface Form to configure various marketing tags from a single place - [Google Analytics Tracking](https://www.withsurface.com/docs/build/events/google-analytics-tracking): Track Surface Form events in Google Analytics using Google Tag Manager (GTM) - [Meta Ads Tracking](https://www.withsurface.com/docs/build/events/meta-ads-tracking): Track Surface Form conversions in Meta Ads - Guides: Task-shaped walkthroughs, start to finish. - [Guides](https://www.withsurface.com/docs/guides): Task-shaped walkthroughs that cross several products, start to finish. - **Start Here** - [Creating Your First Surface Form](https://www.withsurface.com/docs/guides/first-form): Build, style, and share your first Surface form. - [Build a Form with the Forms SDK](https://www.withsurface.com/docs/guides/build-an-sdk-form): Create the form record, bind your own HTML, add a scheduler, validate, publish, and verify - [Load Your Vault and Get Your First Agent Draft](https://www.withsurface.com/docs/guides/load-your-vault): About an hour of work that changes the output of every agent you run afterwards. - **Campaigns and Visibility** - [Track Your AI Visibility for a Launch](https://www.withsurface.com/docs/guides/track-ai-visibility): Set a baseline before you ship, publish against the gaps, and measure whether it moved. - [Run Your Week from Slack with SAM](https://www.withsurface.com/docs/guides/run-your-week-with-sam): What to schedule, what to ask on the day, and what to stop opening the app for. - **Integrations** - HubSpot Forms Configuration - [Connect Surface to Your HubSpot Forms](https://www.withsurface.com/docs/guides/hubspot-forms/overview): Configure Surface Forms to supercharge your HubSpot forms with partial response tracking, user journey insights, and more. - **Getting Started** - [One Click Setup](https://www.withsurface.com/docs/guides/hubspot-forms/one-click-setup): Create HubSpot forms from Surface and start syncing partial & complete submissions - **Custom Configuration** - [Custom Configuration](https://www.withsurface.com/docs/guides/hubspot-forms/manual-setup): Select your target HubSpot form and define exactly how fields map between Surface and HubSpot - [Step 1: Configure HubSpot Form](https://www.withsurface.com/docs/guides/hubspot-forms/configure-hubspot-form): Configure your HubSpot form to accept submissions from Surface Forms - [Step 2: Configure HubSpot in Surface Workflow](https://www.withsurface.com/docs/guides/hubspot-forms/configure-workflow): Set up workflows in Surface to send form submissions to HubSpot - [Step 3: Add Surface Domain to HubSpot](https://www.withsurface.com/docs/guides/hubspot-forms/add-surface-domain): Add your Surface form domain to HubSpot for proper tracking and form submissions - [HubSpot Tracking](https://www.withsurface.com/docs/guides/hubspot-forms/configure-tracking): Add the HubSpot tracking script to your Surface form to track visitors - Email Sequences with HubSpot - [Email Sequences with HubSpot](https://www.withsurface.com/docs/guides/email-sequences-hubspot/overview): Enroll leads in HubSpot email sequences when they submit or drop off your Surface form - [Step 1: Create HubSpot Form](https://www.withsurface.com/docs/guides/email-sequences-hubspot/step-1-hubspot-form): Create a HubSpot form with all fields optional except email so partial Surface submissions can be recorded - [Step 2: Create HubSpot Sequence](https://www.withsurface.com/docs/guides/email-sequences-hubspot/step-2-hubspot-sequence): Create a HubSpot sequence with automated emails, personalization tokens, and meeting link - [Step 3: Add Follow-Up Emails and Delays](https://www.withsurface.com/docs/guides/email-sequences-hubspot/step-3-follow-up-delays): Add more sequence steps with follow-up emails and business-day delays between each - [Step 4: Add Automation](https://www.withsurface.com/docs/guides/email-sequences-hubspot/step-4-automation): Create a HubSpot automation that enrolls contacts in your sequence when they submit the form - [Step 5: Connect HubSpot Form with Surface Workflow](https://www.withsurface.com/docs/guides/email-sequences-hubspot/step-5-surface-workflow): Set up a Surface workflow to send form submissions to your HubSpot form so leads get enrolled in your sequence - Email Sequences with Customer.io and Calendly - [Email Sequences with Customer.io and Calendly](https://www.withsurface.com/docs/guides/email-sequences-customerio-calendly/overview): Complete guide to running email sequences triggered by Surface form submissions, with automatic exit when leads book a meeting - [Step 1: Webhook Trigger Campaigns](https://www.withsurface.com/docs/guides/email-sequences-customerio-calendly/step-1-webhook-trigger): Create two webhook-triggered campaigns in Customer.io, one for partial submissions and one for completed, each with its own URL - [Step 2: Configure Surface Workflow](https://www.withsurface.com/docs/guides/email-sequences-customerio-calendly/step-2-surface-workflow): Set up the Surface Workflow Builder to send form data to Customer.io via webhook when leads submit (partial or completed) - [Step 3: Event-Based Email Campaigns](https://www.withsurface.com/docs/guides/email-sequences-customerio-calendly/step-3-event-campaigns): Create event-triggered campaigns for partial and completed form submissions with customizable follow-up emails and delays - [Step 4: Calendly Meeting Check](https://www.withsurface.com/docs/guides/email-sequences-customerio-calendly/step-4-calendly-check): Add a webhook node to check if the lead has booked a Calendly meeting: exit the campaign if yes, continue if no - **Send Data Anywhere** - [Send Data to HubSpot](https://www.withsurface.com/docs/guides/send-data-to-hubspot): Send Surface form submissions to HubSpot with the built-in HubSpot action in the Workflow Builder - [Send Data to Airtable](https://www.withsurface.com/docs/guides/send-data-to-airtable): Send Surface form submissions to Airtable with a webhook - [Send Data to Clay](https://www.withsurface.com/docs/guides/send-data-to-clay): Send Surface form submissions to Clay with a webhook and the HTTP Request action - [Send Data to Surface Using Webhooks](https://www.withsurface.com/docs/guides/send-data-to-surface): Send data into Surface with a webhook - **Form Features** - [API Based Conditional Logic](https://www.withsurface.com/docs/guides/control-form-logic-based-on-api): Conditional Form Logic Based on Your API Response - [Enable Cloudflare Turnstile](https://www.withsurface.com/docs/guides/enable-cloudflare-turnstile): Enable Cloudflare Turnstile and add the widget to your Surface form to block spam and abuse. - Form Embedding: Step-by-step embedding for each site builder and framework. - [Embed Surface Forms in Your Website Builder or Framework](https://www.withsurface.com/docs/embedding/website-editors): Step-by-step guides for embedding Surface Forms in Framer, Webflow, WordPress, React, Next.js, and other popular website builders and frameworks. - Framer - [Framer Integration](https://www.withsurface.com/docs/embedding/framer/overview): Complete guide to embedding Surface Forms in your Framer site - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/framer/embedding): Add a Surface Tag to your Framer Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/framer/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/framer/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/framer/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/framer/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/framer/optimize): Optimize Surface Form loading speed - Webflow - [Webflow Integration](https://www.withsurface.com/docs/embedding/webflow/overview): Complete guide to embedding Surface Forms in your Webflow site - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/webflow/embedding): Add a Surface Tag to your Webflow Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/webflow/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/webflow/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/webflow/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/webflow/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/webflow/optimize): Optimize Surface Form loading speed - WordPress - [WordPress Integration](https://www.withsurface.com/docs/embedding/wordpress/overview): Complete guide to embedding Surface Forms in your WordPress site - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/wordpress/embedding): Add a Surface Tag to your WordPress Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/wordpress/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/wordpress/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/wordpress/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/wordpress/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/wordpress/optimize): Optimize Surface Form loading speed - React.js - [React.js Integration](https://www.withsurface.com/docs/embedding/react/overview): Complete guide to embedding Surface Forms in your React.js site - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/react/embedding): Add a Surface Tag to your React Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/react/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/react/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/react/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/react/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/react/optimize): Optimize Surface Form loading speed - Next.js - [Next.js Integration](https://www.withsurface.com/docs/embedding/next/overview): Complete guide to embedding Surface Forms in your Next.js site - App Router - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/next/app-router/embedding): Add a Surface Tag to your Next.js Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/next/app-router/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/next/app-router/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/next/app-router/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/next/app-router/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/next/app-router/optimize): Optimize Surface Form loading speed - Page Router - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/next/page-router/embedding): Add a Surface Tag to your Next.js Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/next/page-router/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/next/page-router/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/next/page-router/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/next/page-router/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/next/page-router/optimize): Optimize Surface Form loading speed - Unbounce - [Unbounce Integration](https://www.withsurface.com/docs/embedding/unbounce/overview): Complete guide to embedding Surface Forms in your Unbounce site - [Step 1: Embed Surface Tag](https://www.withsurface.com/docs/embedding/unbounce/embedding): Add a Surface Tag to your Unbounce Site - **Step 2: Embed Surface Form** - [Inline](https://www.withsurface.com/docs/embedding/unbounce/inline): Embed a Surface Form inline - [Email Input Field Trigger](https://www.withsurface.com/docs/embedding/unbounce/input-field): Triggering via email input field submission - [Popup](https://www.withsurface.com/docs/embedding/unbounce/popup): Embed a Surface Form popup - [Slideover](https://www.withsurface.com/docs/embedding/unbounce/slideover): Embed a Surface Form slideover - [Step 3: Optimize](https://www.withsurface.com/docs/embedding/unbounce/optimize): Optimize Surface Form loading speed - MCP: Point Claude, Codex, Cursor or your own agent at a Surface workspace. - [MCP Server](https://www.withsurface.com/docs/mcp-server/overview): Connect any MCP-compatible AI assistant to Surface and build forms, query your funnel, and manage content with natural language - [API Setup](https://www.withsurface.com/docs/mcp-server/setup): Connect the Surface MCP server to your AI assistant - [Claude OAuth Setup](https://www.withsurface.com/docs/mcp-server/claude-oauth-setup): Connect Surface to Claude via OAuth using the Connectors feature. No API key required - [Tool Bundles](https://www.withsurface.com/docs/mcp-server/tool-bundles): How the 128 MCP tools are organized into bundles and families, what loads by default, and how to choose the tools your connection gets - [Vault over MCP](https://www.withsurface.com/docs/mcp-server/vault): Read, search and edit the environment's knowledge Vault from any MCP client: four tools, one revision rule. - [Tool Reference](https://www.withsurface.com/docs/mcp-server/tools): Complete reference for all 128 MCP tools available in the Surface MCP server - [Docs MCP Server](https://www.withsurface.com/docs/mcp-server/docs-mcp): Point an agent at these docs so it can search and read them directly