Wanted to share a repo I put together (typescript, next.js) with an example of a working custom connector with OAuth. Hopefully it can help a few folks here get started quicker.
GitHub:
obannon37/chatgpt-deep-research-connector-example
(posting repo/project as links seem to get blocked)
My experience was the same - I canât get Deep Research to actually user the data I return from the search tool. I can see in my logs that itâs passing data but ChatGPT acts like Iâm speaking gibberish to it⌠but I donât know why!
Some more docs or some guidance here from OpenAI would be appreciated. We want this to work!
Iâm also very disappointed with the VERY LIMITED implementation. Anyway I have another weirder problem: my MCP is working in assistant (âsearchâ and âfetchâ correctly found as tools and working perfectly), but when added to Deep Research it says it doesnât follow the specifications? How do the two differ?
Getting the red text error message next to the custom connector saying it doesnât follow the specifications happens sometimes even when the connector does follow the spec. If it does actually follow the spec, it will still work when doing Deep Research though!
1 Like
Actually I can confirm, you go on Edit and there is all fine, reloading the page it makes it then appear in Deep Research. An incredibly fragile and limited MPC implementation is what they did.
@sobannon in your working example you talk about implementing a custom OAUTH for various reasonsâŚany more light on it? Iâm trying to implement a simple OAUTH with Clark, works perfectly on Claude and locally on Cursor, but ChatGPT after being called back from Clerk after authorisation simply stalls for a few seconds on a blank page and then says there was an error. I see on my side that it never calls back to my endpoints after reaching https://chatgpt.com/connector_platform_oauth_redirect
What are the reasons you needed to implement a custom OAUTH?
This seems based on the example code, and is incorrect I think. According to the schema OpenAI publishes there are multiple required return fields like id, title,textâŚ
Itâs super confusing - the page says one thing and the example implies another. And the error messages are very unhelpful.