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?

  1. Use a Teamwork tenant hosted at https://<tenant>.eu.teamwork.com.
  2. Open the official Teamwork.com app/plugin and select Connect or enable sync.
  3. In the required Subdomain field, enter <tenant>.eu so the value matches the tenant's regional hostname.
  4. Observe that the form rejects the value because it contains a dot: "Enter a valid Subdomain."
  5. Enter <tenant> instead.
  6. Observe that the OAuth/login URL is constructed as https://<tenant>.teamwork.com/launchpad/login..., not https://<tenant>.eu.teamwork.com/....
  7. Complete the connection flow and return to the app.
  8. Observe: "Teamwork.com is now connected, but not syncing. Try enabling sync again."
  9. 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

View original on GitHub ↗