# Use Your ChatGPT Subscription in Zapier Workflows

Zapier's native OpenAI actions cannot change the API base URL. Webhooks by Zapier can: the exact POST setup that bills your AI steps to a flat ChatGPT plan.

*Published 2026-06-12 · https://proxyllm.ai/blog/use-chatgpt-subscription-with-zapier*

Zapier's native OpenAI and ChatGPT actions cannot use your ChatGPT subscription: they authenticate with an OpenAI API key against api.openai.com and offer no base URL setting. The bridge is Webhooks by Zapier, which can POST to any OpenAI-compatible endpoint. Point it at `https://api.proxyllm.ai/v1/chat/completions` with an Authorization header, and the AI step bills to your flat ChatGPT plan through OpenAI's Codex instead of the token meter.

Here is the exact webhook configuration, the response mapping, the two Zapier-specific limits to respect, and the cost math.

## Why the native action cannot do this

The native integrations are hardwired to OpenAI's API, which is a separate product from ChatGPT with separate billing; no API key field will ever accept a ChatGPT login. What ChatGPT plans do include is Codex, OpenAI's coding agent, which runs programmatically through `codex exec`, its documented non-interactive mode. [Codex Hosted](/blog/codex-hosted-setup-guide) runs the official CLI in an isolated container signed in with your own account (you run the login command on your machine), then speaks normal OpenAI API shapes to anything that can send HTTP. Intended functionality, and OpenAI keeps the final call.

The native OpenAI action is hardwired to api.openai.com; the webhook step is the part of Zapier you can point anywhere.

## The webhook step, field by field

Add a **Webhooks by Zapier** action where the AI step belongs, choose the **Custom Request** event, and fill it in:

```text
Method:  POST
URL:     https://api.proxyllm.ai/v1/chat/completions
Data:
{
  "model": "gpt-5",
  "messages": [
    { "role": "system", "content": "You draft concise, friendly replies to support tickets." },
    { "role": "user", "content": "Ticket from {{customer_name}}: {{ticket_body}}" }
  ]
}
Unflatten: yes
Headers:
  Authorization: Bearer YOUR_PROXYLLM_KEY
  Content-Type:  application/json
```

The `{{...}}` placeholders are Zapier's normal field mapping from earlier steps. Custom Request beats the plain POST event here because nested JSON like the `messages` array is awkward in POST's key-value data fields and trivial in a raw body.

## Mapping the reply into later steps

Zapier parses the JSON response automatically and flattens it, so after a test run the draft text shows up as a mappable field along the lines of **Choices Message Content**. Map it into the next action, a Gmail draft, a Slack message, a HubSpot note, like any other field. The full response, lane behavior included, is also visible in the ProxyLLM request log, so you can see exactly which call served each Zap run.

## Two limits to respect

**Webhooks by Zapier is a premium app.** It needs a paid Zapier plan. AI-heavy Zaps usually live there anyway, but check before building.

**Webhook steps time out, around 30 seconds on most plans.** The Codex lane returns complete responses rather than streams, which is what a Zap step wants, since Zapier cannot consume a stream mid-step anyway. It does mean long generations risk the timeout: keep prompts scoped to a single focused task, and put sprawling multi-step agent work in [n8n](/blog/use-chatgpt-subscription-with-n8n) or a server where nothing rushes the response.

## What an AI-heavy Zap costs, both ways

Worked example: a Zap drafts replies for inbound support email, 1,000 drafts a day, each call around 2,000 input and 600 output tokens on GPT-5.4 (OpenAI June 2026 list: $2.50/M input, $15/M output).

| Monthly figure        | Amount                                         |
| --------------------- | ---------------------------------------------- |
| Model calls           | 1,000 × 30 = 30,000                            |
| Input tokens          | 60M × $2.50/M = $150                           |
| Output tokens         | 18M × $15/M = $270                             |
| **API total**         | **$420/mo**                                    |
| **Subscription path** | **ChatGPT Plus $20 + ProxyLLM $129/mo** |

A Zap that drafts a thousand emails a day runs about $420 a month on the meter, against a $20 plan plus our flat $129. The Plus window covers roughly $700 of API-equivalent work on our planning estimates, so this workload fits; treat capacity figures as estimates, not guarantees, and let the request log tell you your real number. If a burst exhausts the window, requests fall back to a second connected account or your own API key until it resets.

Zapier task fees stay identical either way; only the OpenAI line moves. The same swap works with different mechanics in [Make](/blog/use-chatgpt-subscription-with-make), and the rest of the supported tools live on the [integrations page](/integrations). To check your own volumes, the [calculator](/calculator) maps your current OpenAI bill to a plan tier in thirty seconds.
