Documentation
Zernyx Flow MCP
Connect Zernyx Flow to the AI apps you already use. They work as you, with your permissions, across every workspace you belong to. Nothing can be deleted.
Quickstart
Copy the server URL above. It is the same for every AI app.
Add it to your AI app. Pick yours under Connect your AI app; most take one command or one paste.
Approve it on Zernyx Flow. Your app opens a Zernyx Flow page. Check the account and what the app will be able to do, then click Allow access.
Ask. Try "What's due for me this week?" or "Create a task to review the Q4 roadmap, due Friday."
How sign-in works
Zernyx Flow uses OAuth 2.1, the same standard as "Sign in with Google". Your AI app never sees your password.
Your AI app registers itself with Zernyx Flow and opens the Zernyx Flow sign-in page.
You sign in (if you are not already) and see which app is asking, which account it will use and what it will be able to do.
When you click Allow access, the app receives a token that lets it act as you. Click Cancel and it receives nothing.
Technical details for client developers: Streamable HTTP transport, OAuth 2.1 with PKCE and dynamic client registration, discovered from /.well-known/oauth-protected-resource.
Connect your AI app
Choose your app. Every one uses the same server URL and the same Zernyx Flow sign-in.
AI apps redesign their settings often, and some show new menus to only part of their users. If a menu looks different from these steps, use the app's official guide linked in each section: the server URL and the Zernyx Flow sign-in stay the same. Still stuck? Email admin@zernyxflow.com with a screenshot.
ChatGPT
chatgpt.com and desktop app
Open Settings → Plugins (or go to chatgpt.com/plugins).
Click the + button next to Browse directory and choose Create MCP App. In some accounts it is called Add custom MCP server or Create custom MCP server; don't pick Plugin Creator.
Name it Zernyx Flow and paste the server URL. Set Authentication to OAuth and leave any client ID and secret fields empty:
https://mcp.zernyxflow.com/mcpTick I understand and want to continue and click Create. A Zernyx Flow window opens: sign in to Zernyx Flow if asked, check the account and click Allow access.
ChatGPT lists the Zernyx Flow tools. In a new chat, type @ and choose Zernyx Flow, then ask: "What's due for me this week?"
Older layout: if you see Apps & Connectors instead of Plugins, open Advanced settings, turn on Developer mode, then choose Create and continue from step 3.
Business, Enterprise and Edu: only workspace owners and admins can add it. Ask them to add Zernyx Flow for the workspace; you then just connect and allow access.
Claude
claude.ai and desktop app
Open Customize → Connectors (or go to claude.ai/customize/connectors).
Click + Add and choose Add custom connector. Name it Zernyx Flow and paste the URL:
https://mcp.zernyxflow.com/mcpIf you're asked how to sign in, choose Sign in now and, for the OAuth client, Register automatically. If you see a single short form instead, leave Advanced settings empty.
Click Add, then Connect: sign in to Zernyx Flow if asked, check the account and click Allow access.
In a chat, click + at the bottom left of the message box, open Connectors and switch on Zernyx Flow.
Team and Enterprise: members can't add custom connectors. An owner opens Organization settings → Connectors → Add → Custom → Web, pastes the URL and clicks Add. Everyone then finds Zernyx Flow under Customize → Connectors and clicks Connect.
Claude can't pass images to tools; to attach a screenshot, ask for an upload link.
Claude Code
Terminal
Add the server in your terminal:
claude mcp add --transport http zernyxflow https://mcp.zernyxflow.com/mcpSign in:
claude mcp login zernyxflowOr start
claude, type/mcp, choose zernyxflow (it shows needs authentication) and follow the browser sign-in.In the browser, sign in to Zernyx Flow if asked, check the account and click Allow access.
The server is added for the current project by default. Add --scope user to use it in every project, or --scope project to share it with your team through .mcp.json.
Codex
CLI, IDE extension and app
Add the server:
codex mcp add zernyxflow --url https://mcp.zernyxflow.com/mcpSign in:
codex mcp login zernyxflowIn the browser, sign in to Zernyx Flow if asked, check the account and click Allow access. Check it with
codex mcp list.
The Codex IDE extension (gear menu → MCP servers) and the Codex app (Settings → MCP servers) share the same configuration: a server added in the terminal shows up there, with a sign-in button if needed.
Cursor
Editor
Or add it by hand to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{
"mcpServers": {
"zernyxflow": {
"url": "https://mcp.zernyxflow.com/mcp"
}
}
}Then open Customize in the sidebar → MCP and click Needs login next to zernyxflow. In the browser, sign in to Zernyx Flow if asked, check the account and click Allow access.
VS Code
GitHub Copilot
Or from a terminal on macOS or Linux:
code --add-mcp '{"name":"zernyxflow","type":"http","url":"https://mcp.zernyxflow.com/mcp"}'On Windows, in Command Prompt:
code --add-mcp "{\"name\":\"zernyxflow\",\"type\":\"http\",\"url\":\"https://mcp.zernyxflow.com/mcp\"}"Or run MCP: Add Server from the command palette, choose HTTP and paste the server URL.
The first time Copilot uses a Zernyx Flow tool, VS Code opens the browser: sign in to Zernyx Flow if asked, check the account and click Allow access.
Gemini CLI
Terminal
Add the server:
gemini mcp add --transport http zernyxflow https://mcp.zernyxflow.com/mcpOr add it to
~/.gemini/settings.jsonyourself:{ "mcpServers": { "zernyxflow": { "httpUrl": "https://mcp.zernyxflow.com/mcp" } } }Start
geminiand sign in:/mcp auth zernyxflowIn the browser, sign in to Zernyx Flow if asked, check the account and click Allow access.
Devin Desktop (Windsurf)
Editor
In the Cascade panel, open the … menu (top right) and, under MCPs, open the MCP config file. Add:
{
"mcpServers": {
"zernyxflow": {
"serverUrl": "https://mcp.zernyxflow.com/mcp"
}
}
}The file is ~/.config/devin/mcp_config.json on macOS and Linux, %APPDATA%\devin\mcp_config.json on Windows. Refresh the MCP servers; the first time it connects, your browser opens: sign in to Zernyx Flow if asked, check the account and click Allow access.
Zed
Editor
Add this to your Zed settings.json:
{
"context_servers": {
"zernyxflow": {
"url": "https://mcp.zernyxflow.com/mcp"
}
}
}Zed asks you to sign in the first time it connects. In the browser, sign in to Zernyx Flow if asked, check the account and click Allow access.
Cline
VS Code extension
Add this to cline_mcp_settings.json (MCP Servers → Configure). Keep type; without it Cline uses an older transport:
{
"mcpServers": {
"zernyxflow": {
"type": "streamableHttp",
"url": "https://mcp.zernyxflow.com/mcp"
}
}
}Then choose Authorize OAuth next to zernyxflow. In the browser, sign in to Zernyx Flow if asked, check the account and click Allow access.
Other clients
Any MCP client
Any client that supports remote MCP over Streamable HTTP with OAuth works:
- Server URL
https://mcp.zernyxflow.com/mcp- Transport
- Streamable HTTP
- Authentication
- OAuth 2.1 with PKCE and dynamic client registration; discovered automatically from the server
Tools
All 30 tools your AI app can use. Tools marked Makes changes create or update something; the rest only read. Each one acts in your active workspace unless you name another.
Workspace
whoami
Reads
Who am I
Your Zernyx Flow profile: name, email, role, and the active workspace every other tool uses by default, plus all workspaces you belong to. Call this first when unsure which workspace you are in.
No arguments.
list_workspaces
Reads
List workspaces
Workspaces (organizations) you are an active member of, with your role in each.
No arguments.
switch_workspace
Makes changes
Switch active workspace
Make another of your workspaces the active one. This is the same switch as in the web app, so the app will also open in that workspace.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | Yes | Workspace name or slug (from list_workspaces). |
Tasks
list_tasks
Reads
List tasks
List tasks you can see, newest-due first. scope: 'mine' (assigned to you, default), 'assigned_by_me', 'person' (needs person), 'project' (needs project), 'all' (everything visible to you). Filter by status, overdue, due within N days, or title text.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
scope | one of | No | One of: mine, assigned_by_me, person, project, all. Default: "mine". |
person | string | No | Name, email or uid — for scope 'person'. |
project | string | No | Project name or id — for scope 'project', or to narrow any scope. |
status | list of values | No | Only these statuses. PENDING=To do, ONGOING=In progress, REVIEW=In review, DONE=Done. One of: PENDING, ONGOING, REVIEW, DONE. |
include_done | true / false | No | Include DONE tasks when no status filter is given. Default: false. |
overdue | true / false | No | Only tasks past their due date and not done. |
due_within_days | whole number | No | Only tasks due between now and N days from now. |
query | string | No | Text the title must contain. |
limit | whole number | No | Default: 25. |
offset | whole number | No | Default: 0. |
get_task
Reads
Get task details
One task in full: description, people, latest updates, questions and answers, and attached files.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
create_task
Makes changes
Create task
Create a task. Assigned to you unless you name an assignee; the assignee (and any co-assignees) get the same notification the web app sends. To include a screenshot or file the user shared, pass it as `file` (or a public https link / data: URI as `file_url`); it lands in the task's Files tab. More files: call attach_file_to_task afterwards. If you cannot send the file itself — including when the app gives you only a placeholder such as "chat_upload" (ChatGPT mobile) — leave `file` out, create the task, then call get_upload_link. Never write a file path into the description: paths from your own sandbox (/mnt/data/…) are removed, since Zernyx Flow cannot open them.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
title | string | Yes | — |
description | string | No | Default: "". |
assignee | string | No | Name, email or uid of the person doing it. Defaults to you. |
co_assignees | list of string | No | Other people who co-own the task. |
project | string | No | Project name or id. |
due_date | string | No | YYYY-MM-DD, or an ISO 8601 timestamp. |
priority | one of | No | One of: LOW, MEDIUM, HIGH. Default: "MEDIUM". |
status | one of | No | One of: PENDING, ONGOING, DONE. Default: "PENDING". |
file | object | No | A screenshot or file the user shared in the conversation, as provided by the client. Attached to the new task. |
file_url | string | No | A public https link to a file, or a data: URI, to attach to the new task. |
update_task
Makes changes
Update task
Change a task's status, progress, priority, due date, title, description, project or assignee. Only fields you pass change. Status changes are limited to the assignor, assignees, project owner and admins; other field edits to task editors — the same rules as the web app.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
status | one of | No | PENDING=To do, ONGOING=In progress, REVIEW=In review, DONE=Done. One of: PENDING, ONGOING, REVIEW, DONE. |
percent_complete | number | No | 0–100. Decides the status unless status is REVIEW. |
priority | one of | No | One of: LOW, MEDIUM, HIGH. |
due_date | string | No | YYYY-MM-DD or ISO timestamp; null clears it. |
title | string | No | — |
description | string | No | — |
project | string | No | Project name or id; null removes the task from its project. |
assignee | string | No | Reassign to this person (name, email or uid). |
add_task_update
Makes changes
Post task update
Post a progress update on a task (the Updates tab). Moves a To-do task to In progress, or sets percent_complete if given. Notifies the assignee and assignor. Attach files with attach_file_to_task, not as paths in the text.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
text | string | Yes | — |
percent_complete | number | No | — |
attach_file_to_task
Makes changes
Attach file to task
Attach a file — a screenshot, image, PDF or document — to a task, so it shows in the task's Files tab (images as pictures). Pass the file the user shared as `file`, or a public https link or data: URI as `url`, or the bytes as `content_base64`. A path inside your own sandbox (/mnt/data/…) or on the user's computer is not enough. If you cannot send the file itself — including when the app gives you only a placeholder such as "chat_upload" instead of a file object (ChatGPT mobile) — do not pass it: call get_upload_link instead. Up to 25MB; programs and scripts are refused.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
file | object | No | A file the user shared in the conversation, as provided by the client. |
url | string | No | A public https link to the file, or a data: URI. |
content_base64 | string | No | The file's bytes, base64 (a data: URL is fine). Up to 8MB; for bigger files send a link or use get_upload_link. |
filename | string | No | Name to show, e.g. bulk-delete-stuck.png. |
mime_type | string | No | e.g. image/png. Worked out from the file when left out. |
visibility | one of | No | PRIVATE: the task's people only. PUBLIC: anyone who can see the task. One of: PRIVATE, PUBLIC. Default: "PRIVATE". |
get_upload_link
Makes changes
Get an upload link for a task
A private link (valid 15 minutes) where files can be added to a task — use it whenever you cannot send a file yourself: the user uploaded it in an app that doesn't pass files to tools, or it is on their computer. Give the user the link to open, or, if you can run commands on their computer, upload a file with: curl -F "file=@/path/to/file.png" "<upload_url>". Uploaded files appear in the task's Files tab.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
ask_task_question
Makes changes
Ask a question on a task
Ask a question on a task (the Q&A tab). The person who assigned the task is notified.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
question | string | Yes | — |
answer_task_question
Makes changes
Answer a task question
Answer an open question on a task (get_task lists questions with their ids). The first answer wins; the asker is notified.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
task | string | Yes | Task id, or (part of) its title. |
question_id | string | Yes | — |
answer | string | Yes | — |
Projects
list_projects
Reads
List projects
Projects you can see in the workspace, optionally filtered by status or name. Includes subprojects (see parent_id).
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
status | list of values | No | One of: PLANNING, IN_PROGRESS, REVIEW, DONE, ON_HOLD. |
query | string | No | Text the project name must contain. |
limit | whole number | No | Default: 50. |
offset | whole number | No | Default: 0. |
get_project
Reads
Get project details
A project's details: members, goals, this week's deliverables, subprojects, and task counts by status.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
project | string | Yes | Project name or id. |
create_project
Makes changes
Create project
Create a project (you become its owner). Private by default; WORKSPACE makes it visible to the whole workspace. Pass parent to create a subproject.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
name | string | Yes | — |
description | string | No | Default: "". |
visibility | one of | No | One of: PRIVATE, WORKSPACE, PUBLIC. Default: "PRIVATE". |
parent | string | No | Parent project name or id, for a subproject. |
color | string | No | Default: "#0d9d6e". |
People and teams
search_people
Reads
Search people
Find people in the workspace by name, email or designation. Use the uid or email in other tools (e.g. as a task assignee).
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
query | string | No | Text to match; omit to list everyone. |
limit | whole number | No | Default: 50. |
list_teams
Reads
List teams
Teams in the workspace with their manager and members.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
Inbox and chat
list_notifications
Reads
List notifications
Your inbox notifications (task assignments, updates, questions, mentions, leave, chat…), newest first.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
unread_only | true / false | No | Default: true. |
limit | whole number | No | Default: 30. |
mark_notifications_read
Makes changes
Mark notifications read
Mark specific notifications read (by id), or all your unread notifications in the workspace when no ids are given.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
ids | list of string | No | — |
list_chat_channels
Reads
List chat channels
Team chat channels and direct messages you belong to, most recently active first.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
read_chat
Reads
Read chat messages
Recent messages in a channel or direct message you belong to, oldest first.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
channel | string | Yes | Channel name, 'DM: <person>' / person name, or channel id. |
limit | whole number | No | Default: 30. |
send_chat_message
Makes changes
Send chat message
Post a message to a team channel or direct message you belong to. Members are notified as in the web app.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
channel | string | Yes | Channel name, 'DM: <person>' / person name, or channel id. |
text | string | Yes | — |
Leave
list_leave_requests
Reads
List leave requests
scope 'mine' (your requests, default), 'to_approve' (pending requests you can approve), or 'all' (every request visible to you).
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
scope | one of | No | One of: mine, to_approve, all. Default: "mine". |
status | list of values | No | One of: PENDING, APPROVED, REJECTED, CANCELLED. |
limit | whole number | No | Default: 30. |
request_leave
Makes changes
Request leave
Apply for leave in your ACTIVE workspace. Your team manager (and project owners) are notified. A half day must be a single date. You must belong to a team.
| Argument | Type | Required | Details |
|---|---|---|---|
start_date | string | Yes | YYYY-MM-DD |
end_date | string | No | YYYY-MM-DD; defaults to start_date. |
leave_type | one of | No | One of: ANNUAL, SICK, UNPAID, OTHER. Default: "ANNUAL". |
half_day | one of | No | FIRST or SECOND half of a single day. One of: FIRST, SECOND. |
reason | string | Yes | — |
team | string | No | Team name or id, if you are on more than one. |
decide_leave
Makes changes
Approve or reject leave
Approve or reject a PENDING leave request you are allowed to decide (admins, the requester's team manager, or their project owner — never your own). The requester is notified.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
request | string | Yes | Leave request id, or the requester's name. |
decision | one of | Yes | One of: APPROVE, REJECT. |
note | string | No | — |
Meetings
list_meetings
Reads
List meetings
Meetings visible to you that start in a time range (default: now to 7 days ahead). Recurring meetings are listed once, with their recurrence.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
from | string | No | ISO date-time or YYYY-MM-DD; default now. |
to | string | No | ISO date-time or YYYY-MM-DD; default 7 days after from. |
include_recurring | true / false | No | Also list recurring meetings that started before the range. Default: true. |
schedule_meeting
Makes changes
Schedule meeting
Add a one-off meeting to the workspace calendar. Times without a zone are read in the workspace's timezone.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
title | string | Yes | — |
starts_at | string | Yes | ISO date-time, e.g. 2026-10-02T15:00 |
ends_at | string | No | ISO date-time; default 30 minutes after start. |
link | string | No | Video call link. |
visibility | one of | No | One of: PUBLIC, PRIVATE. Default: "PUBLIC". |
Ideas
list_ideas
Reads
List ideas
Ideas posted in the workspace, most voted first, optionally filtered by status or text.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
status | list of values | No | One of: New, Exploring, Planned, Shipped. |
query | string | No | — |
limit | whole number | No | Default: 25. |
create_idea
Makes changes
Post an idea
Post a new idea to the workspace's Ideas board (with your own vote, as in the app).
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
title | string | Yes | — |
description | string | No | Default: "". |
tags | list of string | No | Default: []. |
project | string | No | Link to a project (name or id). |
comment_idea
Makes changes
Comment on an idea
Comment on an idea. Its author is notified.
| Argument | Type | Required | Details |
|---|---|---|---|
workspace | string | No | Workspace name or slug. Defaults to your active workspace (see whoami). |
idea | string | Yes | Idea id or title. |
text | string | Yes | — |
Images and files
Screenshots, images, PDFs and documents can be attached to tasks. They appear in the task's Files tab, images as pictures, exactly like a file you upload in Zernyx Flow. Up to 25MB each (8MB when an app sends the file inline); programs and scripts are refused.
ChatGPT (web and desktop)
Add the image to your message, mention @Zernyx Flow and ask: "Create a task for this bug and attach the screenshot." ChatGPT passes the file to Zernyx Flow directly.
Claude Code, Codex, Cursor, Gemini CLI
Ask it to attach a file from your computer: "Attach ./screenshots/login-error.png to the login task." It asks Zernyx Flow for a private upload link and uploads the file with one command:
curl -F "file=@./screenshots/login-error.png" "<upload link>"Claude, the ChatGPT mobile app and other chat apps
These apps can't hand files to tools yet. Ask the assistant for an upload link: "Give me a link to add the screenshot to that task." Open the link and drop the files on the page. Links last 15 minutes and only work for that task.
Links
If the file is already online (a public https link), the assistant can attach it from the link.
Only people who can work on the task can attach to it: the assignor, assignees, the project owner and admins. Files are private to the task's people unless made public.
Names and ids
Refer to people, projects, tasks, chat channels and ideas by name: "assign it to Ravi", "in the Apollo project". Ids work too.
If a name could mean more than one thing, the tool lists the matches and asks which one you meant. It never guesses, so it will not act on the wrong task.
Workspaces
If you belong to several workspaces, tools use your active workspace, the same one the web app opens in. Ask for another by name ("in the Acme workspace") or ask it to switch. Switching changes your active workspace in the web app too.
Rate limits
Each person can make about 2 requests a second (120 a minute). If an app goes over, it is asked to slow down and can try again a minute later.
Permissions
Every request runs as the signed-in person, under the same access rules as the Zernyx Flow app. An AI app can only see and change what you can, in the workspaces you belong to.
Each app is approved by you on a Zernyx Flow page that lists what it can do. Only tokens issued that way are accepted.
Actions notify people exactly as they would in the app, so nobody is surprised by work that happened in an AI tool.
What it can't do
- Delete anything: tasks, projects, messages or files.
- See or change anything you can't already see or change in Zernyx Flow.
- Use admin, billing, platform or CRM features.
- Attach programs or scripts. Images, PDFs and documents up to 25MB only.
Disconnecting an app
Remove Zernyx Flow from the app's connector or MCP settings (in Claude Code: claude mcp remove zernyxflow). If you think an app should not have access, tell your workspace admin.
Troubleshooting
ChatGPT doesn't show Create MCP App
Custom apps need ChatGPT Plus, Pro, Business, Enterprise or Edu, on the web or desktop app. On Business, Enterprise and Edu only workspace owners and admins can add one: ask them to add Zernyx Flow for the workspace. If your settings show Apps & Connectors instead of Plugins, turn on Developer mode under Advanced settings first. See ChatGPT setup.
Claude says I've reached the custom connector limit
The Free plan includes one custom connector. Remove one you no longer use under Customize → Connectors, or use a paid plan.
My company workspace won't let me add it
On ChatGPT Business or Enterprise and Claude Team or Enterprise, an owner or admin adds connectors for everyone. Send them this page; once added, Zernyx Flow appears in your connectors and you just click Connect.
The sign-in page says the request expired
Sign-in links last a few minutes. Start connecting again from your AI app to get a fresh one.
It connected to the wrong account
On the Zernyx Flow approval page, use Switch account before allowing. To change an existing connection, remove it in your AI app and connect again.
It can't find tasks from another workspace
Tools use your active workspace by default. Name the workspace in your request, or ask it to switch.
My AI app says "unauthorized" after it was working
The session ended. Reconnect: in Claude Code run /mcp and choose Authenticate; in other apps, disconnect and connect again.
"Too many requests"
Each person can make about 2 requests a second (120 a minute). Wait a minute and try again.
FAQ
Does it cost extra?
No. It uses your existing Zernyx Flow account and permissions.
Can the AI app see my whole workspace?
Only what you can see yourself. Private projects and other people's private tasks stay private.
Will my teammates know a change came from an AI app?
Changes appear under your name, exactly as if you made them in Zernyx Flow, and send the usual notifications.
Which AI apps are supported?
Any app that supports remote MCP servers with OAuth, including ChatGPT, Claude, Claude Code, Codex, Cursor, VS Code, Gemini CLI, Devin Desktop (Windsurf), Zed and Cline.