Teamwork.com plugin rejects EU regional subdomains, then connects to the wrong host and never syncs
Open 💬 0 comments Opened Jul 9, 2026 by jdrly
What issue are you seeing?
The official OpenAI Teamwork.com plugin cannot configure an EU-hosted Teamwork tenant whose URL is https://<tenant>.eu.teamwork.com.
Plugin details:
- Plugin:
teamwork-com - Version:
1.0.3 - Connector ID:
connector_86de01a2aaf544b0a039013db9bcfae7 - Surface: ChatGPT Apps, also exposed as the official curated Teamwork.com plugin in Codex
- Reproduced: July 9, 2026
The connector setup asks for a Teamwork "Subdomain", but it rejects the regional value <tenant>.eu with:
Enter a valid Subdomain.
Entering only <tenant> passes validation, but OAuth is then opened on https://<tenant>.teamwork.com/..., omitting the required .eu regional segment. After returning, the UI reports:
Teamwork.com is now connected, but not syncing. Try enabling sync again.
In Codex, the resulting official connector is enabled but inaccessible (isEnabled: true, isAccessible: false).
What steps can reproduce the bug?
- Use a Teamwork tenant hosted at
https://<tenant>.eu.teamwork.com. - Open the official Teamwork.com app/plugin and select Connect or enable sync.
- In the required Subdomain field, enter
<tenant>.euso the value matches the tenant's regional hostname. - Observe that the form rejects the value because it contains a dot: "Enter a valid Subdomain."
- Enter
<tenant>instead. - Observe that the OAuth/login URL is constructed as
https://<tenant>.teamwork.com/launchpad/login..., nothttps://<tenant>.eu.teamwork.com/.... - Complete the connection flow and return to the app.
- Observe: "Teamwork.com is now connected, but not syncing. Try enabling sync again."
- Retrying sync produces the same result.
What is the expected behavior?
The setup should either:
- accept the complete regional tenant hostname/subdomain and preserve
.eu, or - resolve the tenant's correct regional hostname during OAuth.
OAuth and subsequent sync requests should use <tenant>.eu.teamwork.com, and the connector should become accessible and sync projects/tasks.
Additional information
- Official plugin manifest: https://github.com/openai/plugins/blob/main/plugins/teamwork-com/.codex-plugin/plugin.json
- Connector declaration: https://github.com/openai/plugins/blob/main/plugins/teamwork-com/.app.json
- The official Teamwork MCP endpoint can authenticate and access the same EU-hosted tenant, which indicates the Teamwork account and permissions are valid; the failure appears specific to the OpenAI synced connector's subdomain validation/host construction.
- No credentials, tokens, tenant name, or customer/project data are included in this report.