# ChatGPT

Source: https://pushary.com/docs/agents/guides/chatgpt
Last updated: 2026-11-06

> Connect Pushary to ChatGPT with the Pushary plugin or a custom MCP connector, so ChatGPT can notify you and ask you questions on your phone.

Pushary lets ChatGPT reach you on your phone. You connect it once, with the Pushary plugin or a custom app, and sign in to Pushary. ChatGPT can then send you a notification when a long task ends and ask you questions you answer from your lock screen. You need no terminal and nothing to install on your computer.

<Cards>
  <Card title="Open Pushary in ChatGPT" description="Install the Pushary plugin, then sign in with your Pushary account." href="https://chatgpt.com/plugins/plugin_asdk_app_6abc2ebca100819198c8619e9a697ee3" />
</Cards>

ChatGPT chooses when to call Pushary. Pushary cannot stop ChatGPT in the middle of a task. To approve risky commands before they run, use an agent with hooks, such as Claude Code or Codex. [Supported agents](/docs/agents/supported-agents) shows which agents Pushary can enforce.

<Callout type="info">
  Codex, OpenAI's agent for code, is a different and stronger integration. Codex has native hooks (scripts that run before each tool call), so Pushary can block a shell command or a patch until you approve it. See the [Codex guide](/docs/agents/guides/codex). This page is about ChatGPT itself.
</Callout>

## Install the Pushary plugin [#install-the-pushary-plugin]

This is the shortest path. Whether ChatGPT offers the plugin depends on your account and workspace settings.

<Steps>
  <Step>
    ### Open the plugin [#open-the-plugin]

    Open [Pushary in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6abc2ebca100819198c8619e9a697ee3) and choose **Install plugin**.
  </Step>

  <Step>
    ### Connect and sign in [#connect-and-sign-in]

    When ChatGPT asks, connect Pushary. Sign in with the same Pushary account your phone uses.
  </Step>

  <Step>
    ### Send a test question [#send-a-test-question]

    If ChatGPT offers to set up Pushary, run it. Setup sends a test question to your phone. You can also mention @Pushary in a chat and ask it to send a test question. Answer it in Pushary. ChatGPT gets your answer, which confirms the connection.

    If ChatGPT says your Pushary account has no site yet, open the link in its message and finish setup. Then tell ChatGPT your setup is done.
  </Step>
</Steps>

The same button, **Open Pushary in ChatGPT**, is on the **Claude and ChatGPT** card in [Settings > Connections](https://pushary.com/dashboard/agent/settings).

## Add Pushary as a custom app (Developer mode) [#add-pushary-as-a-custom-app-developer-mode]

Use this path if the plugin is not available to you, or your workspace prefers its own app.

Pushary's tools write (they send notifications and questions). ChatGPT allows custom apps with write tools on **ChatGPT Business, Enterprise and Edu**, on the web. A workspace admin or owner has to turn on Developer mode. Enterprise and Edu can give access to selected developers. Pro supports read and fetch tools only, and Plus cannot use this setup.

This is the URL for the custom app. It holds no credential, because ChatGPT signs you in to Pushary when it connects:

```text
https://pushary.com/api/mcp/openai/mcp
```

<Steps>
  <Step>
    ### Turn on Developer mode [#turn-on-developer-mode]

    Ask a workspace admin or owner to turn it on under **Workspace settings > Permissions & Roles > Connected Data**. If needed, turn it on for your account in **Settings > Apps > Advanced settings**. Business admins and owners can also turn it on while creating an app.
  </Step>

  <Step>
    ### Create the app [#create-the-app]

    In **Workspace settings > Apps**, choose **Create**. Authorized Enterprise and Edu developers can use **Settings > Apps > Create**.
  </Step>

  <Step>
    ### Paste the URL [#paste-the-url]

    Name the app `Pushary`. Paste the URL above into the **MCP Server URL** field.
  </Step>

  <Step>
    ### Sign in and scan the tools [#sign-in-and-scan-the-tools]

    Choose **OAuth** for authentication, then select **Scan Tools**. Sign in with the Pushary account that owns your devices.
  </Step>

  <Step>
    ### Finish [#finish]

    Wait for the tool scan to finish, then select **Create**.
  </Step>
</Steps>

Use the `/api/mcp/openai/mcp` URL exactly. It is the Streamable HTTP endpoint for ChatGPT. Do not swap the ending for `/sse`.

<Callout type="info">
  If OAuth fails, install the [Pushary plugin](https://chatgpt.com/plugins/plugin_asdk_app_6abc2ebca100819198c8619e9a697ee3) instead, and sign in with the same Pushary account.
</Callout>

## Turn on Pushary in a chat [#turn-on-pushary-in-a-chat]

Custom apps are not always on. In a new chat, open the tools menu (the &#x2A;*+** or the tools icon in the composer) and turn on **Pushary** for that conversation.

## Make ChatGPT reach out on its own [#make-chatgpt-reach-out-on-its-own]

ChatGPT does not call a connector unless something tells it to. Paste this block into **Settings**, then **Personalization**, then **Custom instructions**. ChatGPT then pings you without being asked each time.

```text
Pushary is connected as a custom connector. Use it proactively to reach me on my phone. Do not wait for me to ask.

- When you need a decision or a clarifying answer, call ask_user instead of guessing or stalling. Use type "confirm" for yes or no, "select" for a fixed set of options, and "input" for free text. Ask once, on one channel.
- Before a risky or irreversible step outside what I already approved (spending money, sending anything external, bulk changes), call ask_user with type "confirm" and wait for my answer. Silence is never consent.
- When a long task finishes, or you are blocked by an error you cannot resolve, call send_notification with a short summary. Set context.type to "task_complete", "error" or "info".
- When you would take your own recommendation without asking at all, and the step is reversible, spends nothing and is inside what I asked for, do not ask: make the choice and list it in your summary. Ask real decisions with ask_user.
- Follow handoffAction when present, otherwise nextAction. While pending, keep waiting with the same correlationId. Only for an explicit handoff, call cancel_question before asking me in this chat. If cancellation returns handoffAction "stop", stop. If cancellation returns false, poll once for 1 second and honor the answer that won the race.
- Pass agentName as "ChatGPT - <task name>" on every call so I know which chat is asking.
- Use cancel_question to retract a question that is no longer needed.
```

With the agentName in place, ChatGPT sessions show up in your Activity feed and Fleet view as **ChatGPT**, grouped by task.

<Callout type="warn">
  ChatGPT may ask you to confirm a write action, including `send_notification` or `ask_user`, based on app permissions and the action. That is ChatGPT's own safety check, not a Pushary setting.
</Callout>

## Tools ChatGPT gets [#tools-chatgpt-gets]

The connector gives ChatGPT six tools: `send_notification`, `ask_user`, `propose_scope`, `wait_for_answer`, `cancel_question` and `schedule_reminder`. See the [tools reference](/docs/agents/reference/tools). Those six are all ChatGPT sees, so it is never offered tools that would only refuse it. The session, subscriber, campaign and flow tools need an API key and are not offered on a connector.

A question waits for your answer for up to 48 seconds per call when your workspace is set to **Always**, and 20 seconds when it is set to **When away**. With **Alert only** or **In agent**, it returns at once. ChatGPT can keep waiting with `wait_for_answer` and the same question id. Questions stay open for 10 minutes, and a question nobody answers is never treated as a yes.

### Prompts to try [#prompts-to-try]

**Approve the plan before ChatGPT starts:**

```text
Plan this, then send the plan to my phone so I can approve it before you start.
```

**Get asked during the task, before anything you cannot undo:**

```text
I'm stepping away. Keep going and ask me on my phone before any step you can't undo.
```

**Get a summary when the task is done:**

```text
When you're done, send a summary to my phone with what you did and what's left.
```

**Get pinged when a long task finishes:**

```text
When you finish this research, use Pushary to send me a notification with a
short summary of what you found.
```

**Ask before something irreversible:**

```text
Before you do anything irreversible, use Pushary to ask me to confirm, and wait
for my answer before continuing.
```

## Disconnect ChatGPT [#disconnect-chatgpt]

Remove Pushary under ChatGPT's **Apps** settings to stop ChatGPT using the sign-in connection. If you pasted a key link instead, revoke it in Pushary under Settings > Connections, behind **Client cannot sign in? Use a key link instead**. The old key link stops working right away.

## Troubleshooting [#troubleshooting]

### The app will not save, or ChatGPT says it is not safe [#the-app-will-not-save-or-chatgpt-says-it-is-not-safe]

Check that the URL is exactly `https://pushary.com/api/mcp/openai/mcp` and that you chose OAuth. If OAuth still fails, open the [Pushary plugin in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6abc2ebca100819198c8619e9a697ee3) and choose **Install plugin**. When ChatGPT asks, connect Pushary and sign in with the same Pushary account. If it still refuses, send the exact error to [aadil@pushary.com](mailto:aadil@pushary.com).

### Developer mode is missing [#developer-mode-is-missing]

Custom apps with write tools need Business, Enterprise or Edu on the web, turned on by a workspace admin. Without it, try the [Pushary plugin in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6abc2ebca100819198c8619e9a697ee3). Availability depends on your account and workspace settings.

### ChatGPT never calls Pushary [#chatgpt-never-calls-pushary]

Turn on Pushary in the chat's tools menu, and add the custom instructions block above. Without it, ChatGPT uses the connector only when you ask for it by name.

### The notification reached 0 devices [#the-notification-reached-0-devices]

The `send_notification` result warns "Notification reached 0 devices" when no phone or browser is connected for your workspace. With the Mac app connected it warns "No phone or browser received this notification" instead. Connect a phone or browser first. See [Receiving notifications](/docs/agents/receiving-notifications).

## Next steps [#next-steps]

<Cards>
  <Card title="Set up your phone" description="Install the Pushary app and turn on notifications so questions reach you." href="/docs/agents/receiving-notifications" />

  <Card title="How questions and answers work" description="Question types, timeouts, and what happens when nobody answers." href="/docs/agents/human-in-the-loop" />
</Cards>