> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getsmartalex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Use SmartAlex with ChatGPT

> Connect SmartAlex to ChatGPT over the hosted MCP endpoint with OAuth, so ChatGPT can run your voice AI platform in conversation: build agents, launch campaigns, read calls, and update deals.

SmartAlex is built for AI-native builders, and that includes ChatGPT. Add the hosted SmartAlex connector and ChatGPT can operate a full voice AI platform in plain conversation: spin up a voice agent from a website URL, launch an outbound campaign, read call transcripts, and move a deal to `closed_won`, without you leaving the chat.

The connection runs over the Model Context Protocol (MCP). One hosted endpoint, OAuth to approve, and ChatGPT gets a set of scoped tools it can act with, not just documentation to read. That is the difference between a chatbot that can describe your account and one that can run it.

<Note>
  Honest framing: SmartAlex is agent-native by design and our MCP server is live and listed in the ChatGPT and Claude connector directories. It works the same way from Cursor, VS Code, Windsurf, Claude Code, and Gemini CLI. This is not an exclusive or official partnership with OpenAI or any other client vendor. ChatGPT is simply one of the smoothest ways in.
</Note>

## What ChatGPT can do once connected

Connected, ChatGPT drives the whole platform through the SmartAlex MCP server: 28 tools (all prefixed `smartalex_`), split into 14 read, 14 write, and 3 destructive operations across eight domains.

| Domain               | What ChatGPT can do                                                                          | Access         |
| -------------------- | -------------------------------------------------------------------------------------------- | -------------- |
| Voice agents         | Build an agent from a website URL or a full spec, update, activate, delete                   | Read and write |
| Contacts             | List, look up, create, update, tag and segment the CRM                                       | Read and write |
| Campaigns            | Create outbound campaigns, add contacts in batches, start calling, track progress            | Read and write |
| Calls                | Browse call history (direction, status, duration, sentiment, cost) and read full transcripts | Read only      |
| Deals                | List by stage, create with a value and linked contact, advance or delete                     | Read and write |
| Phone numbers        | List active numbers, search available numbers by country, buy in E.164                       | Read and write |
| Webhooks             | Subscribe an HTTPS endpoint to events, list with failure counts, remove                      | Read and write |
| Platform and widgets | Check health and usage stats, fetch ready-to-paste widget install code                       | Read only      |

The headline tool, `smartalex_create_agent`, takes a website URL, reads the business, generates an optimized prompt, and deploys a live voice agent in about 30 to 60 seconds. Underneath, SmartAlex runs a curated, high-accuracy speech, language, and voice stack, kept abstracted, so there is nothing to tune.

## Before you connect

<Info>
  You need three things: a ChatGPT plan that supports custom connectors (with developer mode enabled where required), the **Power Tools add-on** (\$29/month) on your SmartAlex workspace, which unlocks MCP access and the Developer Portal, and a **super-admin role** on that workspace to approve the connection. If you cannot see the connector option in ChatGPT, check the plan and developer mode. If OAuth approves but no tools appear, check the add-on and your role.
</Info>

## Connect ChatGPT to SmartAlex

The path is the hosted cloud endpoint over OAuth: no install, no key to paste, no config file. The endpoint is the same one every MCP client uses:

```text theme={null}
https://api.getsmartalex.com/functions/v1/mcp-server
```

<Steps>
  <Step title="Open connector settings in ChatGPT">
    Go to Settings, then Connectors (custom connectors). On plans that require it, turn on developer mode first. Choose Add or Create a custom connector.
  </Step>

  <Step title="Add SmartAlex">
    Paste the endpoint URL above and name it SmartAlex. Because we are listed in the ChatGPT connector directory, you may also be able to find SmartAlex by name instead of pasting the URL. Transport is HTTP Streamable, authentication is OAuth 2.0 (PKCE, `S256`).
  </Step>

  <Step title="Approve in your browser">
    ChatGPT opens the OAuth screen. Approve access, and the token binds to your active workspace. Nothing to copy back, and the connection stays scoped to that one workspace.
  </Step>

  <Step title="Ask it to do something">
    Start a chat and type a plain request such as "show me my SmartAlex agents". ChatGPT selects the right tool and runs it against your workspace.
  </Step>
</Steps>

```mermaid theme={null}
sequenceDiagram
  participant You
  participant ChatGPT
  participant SmartAlex as SmartAlex MCP server
  You->>ChatGPT: Add connector, paste endpoint URL
  ChatGPT->>SmartAlex: Start OAuth (PKCE)
  SmartAlex-->>You: Approve access in browser
  You-->>SmartAlex: Approve, token binds to your workspace
  SmartAlex-->>ChatGPT: Connected, 28 scoped tools available
  You->>ChatGPT: "Show my SmartAlex agents"
  ChatGPT->>SmartAlex: smartalex_ tool call (workspace-scoped)
  SmartAlex-->>ChatGPT: Result
```

## Example prompts

Real requests you can paste into ChatGPT once the connector is live:

| Say this                                                                                                                             | What SmartAlex does                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |
| "Create a voice agent for this dental clinic from `brightsmiledental.com`, give it a warm first message, and assign a phone number." | Reads the site, builds and deploys a live agent, buys and attaches a number |
| "Add these 40 leads to a new outbound campaign, set calling hours 9am to 5pm in `America/New_York`, then start it."                  | Creates the campaign, batches in the contacts, and begins calling           |
| "Show me last week's calls with negative sentiment and pull the transcript for the longest one."                                     | Lists filtered call history, then reads the full transcript                 |
| "Move the Acme deal to `closed_won` and give me the widget install snippet for our site."                                            | Advances the pipeline stage and returns ready-to-paste embed code           |

<Tip>
  The three destructive tools (`smartalex_delete_agent`, `smartalex_delete_deal`, `smartalex_delete_webhook`) carry a `destructiveHint`, so a request like "delete the old test agent" prompts a confirmation before it acts. Reads and writes are separable too: point a reporting-only chat at a `read`-scoped key and a write attempt returns a `403`.
</Tip>

## What about GPT Actions?

If you are building a custom GPT and reaching for GPT Actions to make a voice agent, here is the honest state of play. GPT Actions call an OpenAPI-described REST endpoint. Our public REST API and TypeScript SDK are in private beta ("coming soon"), so the Actions path is not the way in yet. The live, supported route today is the MCP connector above, which already exposes the full 28-tool operating surface to ChatGPT. When the REST API ships, a GPT Actions integration becomes possible too, and we will document it here.

## Embed the result on your site

When an agent is ready, ask ChatGPT for the widget code (`smartalex_get_widget_install_code`) and drop it in. For a static site, paste this single tag just before the closing `body` tag:

```html theme={null}
<!-- SmartAlex Widget -->
<script
  src="https://api.getsmartalex.com/storage/v1/object/public/widget-assets/smartalex-widget.js"
  data-tenant-id="YOUR_TENANT_ID"
  async>
</script>
```

For a React or Next.js app, inject it from your root layout:

```jsx theme={null}
import { useEffect } from 'react';

export default function Layout({ children }) {
  useEffect(() => {
    const script = document.createElement('script');
    script.src = 'https://api.getsmartalex.com/storage/v1/object/public/widget-assets/smartalex-widget.js';
    script.setAttribute('data-tenant-id', 'YOUR_TENANT_ID');
    script.async = true;
    document.body.appendChild(script);
    return () => { document.body.removeChild(script); };
  }, []);
  return <>{children}</>;
}
```

The snippet is byte-identical for every widget style: the widget reads its published config (variant, colors, agent) from the server at load time, so you can restyle it in Widget Studio later without touching the site again. `YOUR_TENANT_ID` is shown in the widget code panel inside SmartAlex, or returned by `smartalex_get_widget_install_code`.

## Live today, coming soon

<CardGroup cols={2}>
  <Card title="Live now" icon="circle-check">
    The hosted MCP server (cloud OAuth) and Custom HTTP Tools are in production. These are the programmatic surfaces ChatGPT builds against today.
  </Card>

  <Card title="Coming soon" icon="clock">
    A public REST API and TypeScript SDK (which would unlock GPT Actions) are in private beta. Outbound webhook event delivery is also in private beta.
  </Card>
</CardGroup>

## Related

<CardGroup cols={2}>
  <Card title="MCP getting started" icon="rocket" href="/mcp/getting-started">
    Connect ChatGPT, Claude Code, Cursor, VS Code, or Gemini CLI in under two minutes.
  </Card>

  <Card title="What an AI agent can do" icon="robot" href="/mcp/agent-capabilities">
    The full 28-tool operating surface, scopes, and per-workspace isolation model.
  </Card>

  <Card title="Build with Claude Code" icon="terminal" href="/build-with/claude-code">
    The same MCP server, driven from the terminal.
  </Card>

  <Card title="Pricing and add-ons" icon="tag" href="/pricing">
    Plans, included minutes, and the Power Tools add-on that unlocks MCP access.
  </Card>
</CardGroup>
