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

# Connect ChatGPT

> Use Audity from ChatGPT via a Custom GPT with MCP (manual setup).

## Requirements

* For the MCP path: a ChatGPT plan with Developer Mode (Pro, Team, Enterprise, or Edu)
* For the Custom GPT Actions path: any plan with Custom GPTs (Plus and up)
* An Audity Personal Access Token (`aky_...`), see [Authentication](/authentication)

## Setup A: MCP connector (recommended)

ChatGPT connects to remote MCP servers through Developer Mode connectors, configured at the workspace level, not inside a Custom GPT. Connect does not auto-configure ChatGPT; you'll add it yourself.

<Steps>
  <Step title="Get a Personal Access Token">
    Go to **Settings → API Tokens** in your Audity workspace and create a token with **Read + Write** scopes. It starts with `aky_` and is shown only once.
  </Step>

  <Step title="Enable Developer Mode">
    ChatGPT → profile icon → **Settings** → **Apps & Connectors** (ChatGPT renamed connectors to "apps" in late 2025; you may see either label) → **Advanced settings** → enable **Developer mode**.
  </Step>

  <Step title="Add the Audity connector">
    In the connectors/apps tab, add a new remote MCP server:

    * **URL**: `https://app.auditynow.com/api/mcp`
    * **Authentication**: `Bearer aky_<your-token>`

    ChatGPT discovers the `audity_*` tools from the server automatically.
  </Step>

  <Step title="Test it">
    Start a new chat, enable the Audity connector as a source, and ask:

    > List my Audity projects.

    ChatGPT will invoke the `audity_list_projects` tool and return your real projects. If you see "Allow" prompts, approve them. ChatGPT asks for confirmation on every MCP call until you mark the server as "always allow."
  </Step>
</Steps>

## Setup B: Custom GPT with OpenAPI Actions (no Developer Mode)

If you don't have Developer Mode, build a Custom GPT instead: **Explore GPTs** → **Create**, give it a name (`Audity`) and a short instruction (e.g. "You have access to Audity, a B2B SaaS platform for AI consultants. Always ask the user before triggering audit analysis or lead conversion, as they cost credits."), then import the REST spec at `https://docs.auditynow.com/api-reference/openapi.json` into the GPT's **Actions** and authenticate with your PAT as an API key (Bearer).

<Note>
  The Actions path covers the REST surface only. Document upload, interview-session creation, and PDF-status polling are MCP-only tools with no REST equivalent, those need Setup A (or a different client, like Claude or Cursor).
</Note>

## Common prompts

```text theme={null}
What's the status of my latest Audity audit?
```

```text theme={null}
Pull the deliverables for project {id}. Format the executive summary as a
client-ready email.
```

```text theme={null}
Search my Audity Nucleus memories for {topic}.
```

```text theme={null}
Show me my unread Audity insights, grouped by type.
```

## What you get

100+ `audity_*` tools covering projects, documents, interviews, analysis, opportunities, ROI, deliverables, leads, and persistent memory (Nucleus).

See [Connect Claude → What you get](/guides/claude#what-you-get) for the full list.

## Limitations

* **ChatGPT asks for permission on every MCP call** unless you explicitly allow the server. For workflows that chain 5+ calls, that's many confirmations. Use Claude or Cursor for chained workflows.
* **Long-running actions can time out.** A comprehensive audit runs \~10-15 minutes, far longer than ChatGPT's hard tool-call timeout. Always use the async path: `audity_enqueue_audit_analysis`, then poll `audity_get_job`.

## Troubleshooting

<AccordionGroup>
  <Accordion title="ChatGPT can't connect to the MCP server">
    Verify the URL `https://app.auditynow.com/api/mcp` is reachable in your browser. If it loads, check that your token is correct and has `read + write` scopes.
  </Accordion>

  <Accordion title="Every call returns 401 PAT_MALFORMED">
    Token format is wrong. Most common cause: you included `Bearer ` in the token field. The full header should be `Authorization: Bearer aky_<token>`, but you paste only `aky_<token>` in most UIs (the `Bearer ` prefix is added automatically). Check your GPT's auth config and remove any double `Bearer`.
  </Accordion>

  <Accordion title="Every call returns 403 PAT_SCOPE_INSUFFICIENT">
    Token lacks `write` scope. Generate a new token in Settings → API Tokens with both `read` and `write` checked, then update the Custom GPT's credentials.
  </Accordion>

  <Accordion title="GPT can't find the right tool">
    Custom GPTs can be conservative with external tools. Make sure your prompt mentions "Audity" by name. Tighten the GPT's system instruction with examples of when to call which operation.
  </Accordion>

  <Accordion title="429 rate limited mid-batch">
    See [Authentication → Rate limits](/authentication#rate-limits). Most common ceiling: write limits on batch operations. Consider serializing or adding delays.
  </Accordion>

  <Accordion title="Audit analysis times out (504 / hang)">
    A comprehensive audit synthesis runs \~10-15 minutes, far longer than ChatGPT's hard tool-call timeout. Use `audity_enqueue_audit_analysis` (async), then poll `audity_get_job`. If you already enqueued the job, verify with `audity_get_job` before re-triggering.
  </Accordion>
</AccordionGroup>

## What's next

* [Run a full audit workflow →](/guides/running-an-audit)
* [Lead conversion playbook →](/guides/lead-conversion)
* [Authentication deep dive →](/authentication)
