Can I upload user files to my service through an action?

We have our own set of logic for uploading files, vectorizing files, and handling file dialogs. I would like to develop a GPT that primarily interfaces with our services. In other words, users upload files to our server, allowing me to vectorize the files using our own logic and process user dialogs. Can these functionalities be implemented through an action?

A user would upload files via GPT or what the intended interaction?

After users upload a file, they can have a conversation with the file, and ChatGPT will answer the users’ questions based on the content of the file.

The way I see it:

  • They can upload the file with GPT now w/o any special setup and its context will be available for the duration of their session. It might not be what you want.
  • They can upload a file to GPT, and then GPT will pass that content to your API and it will persist via user-level authentication every time they initiate their “session”.

In the latter case, the only step I did not evaluate is using GPT to “proxy” the upload, but I have achieved user-level authentication in a satisfactory form via a couple of API endpoints.

Alternatively, your users can upload a file via a traditional app on your side, then head to GPT and have a conversation about it, but it will require user-level authentication regardless.

Note, that it’s likely for OpenAI to add native support for user authentication - it’s already in there, just needs some extra work to prompt user to allow permissions for a GPT to access their session details, like ID or email, or name etc. A wider spectrum of functionality is available via Assistants, but this is quite different financial model. So I’d say there will be more in GPTs over time.

Currently it is not possible to send files via an action to an external server.

1 Like

Yeah, just noticed it here

So the only way is to use the conventional app, and then direct user to GPT that would support what I outlined above.


this would be a major use case for a lot of devs, is there any timeline here to support this natively ?