Problem
Is your feature request related to a problem? Please describe.
The custom tool builder supports multipart/form-data as a Request Body encoding, but every Input Parameter type available (string, number, integer, boolean, array, object) sends its value as text. There's no way to make a parameter carry an actual file. This means any API endpoint that requires a genuine file upload — not just a text field — can't be built as a working tool, even though the encoding option implies it should be possible.
Steps to reproduce
- Built a tool for Etsy's
uploadListingImage endpoint (POST /shops/{shop_id}/listings/{listing_id}/images), which requires a real multipart file upload.
- Set Method to POST, Encoding to
multipart/form-data, and added an image parameter (type: string) intended to hold a public image URL.
- Called the tool with a real, public image URL as the
image value.
- Etsy rejected the request:
400 Bad Request — "Either a valid image file or a listing_image_id must be provided."
The request went out as a text field containing a URL string, not as an actual file attachment, so Etsy correctly didn't recognize it as an upload.
Proposed Solution
Describe the solution you'd like
A parameter type (e.g. "file" or "file from URL") available when Encoding is set to multipart/form-data, where the value provided is a public URL that the connector fetches server-side and attaches to the request as a real file part — rather than passing the URL through as plain text.
Alternatives Considered
Describe alternatives you've considered
No workaround exists within the current builder — every parameter type sends as text regardless of encoding. The only current option is uploading files manually outside the tool.
Area
Connectors (REST, SOAP, GraphQL, Database, MCP Bridge)
Additional Context
Additional context
This isn't Etsy-specific — any API requiring real file uploads (images, documents, etc.) would hit the same wall. A single "file from URL" parameter type would unblock all of them.
Problem
Is your feature request related to a problem? Please describe.
The custom tool builder supports
multipart/form-dataas a Request Body encoding, but every Input Parameter type available (string, number, integer, boolean, array, object) sends its value as text. There's no way to make a parameter carry an actual file. This means any API endpoint that requires a genuine file upload — not just a text field — can't be built as a working tool, even though the encoding option implies it should be possible.Steps to reproduce
uploadListingImageendpoint (POST /shops/{shop_id}/listings/{listing_id}/images), which requires a real multipart file upload.multipart/form-data, and added animageparameter (type: string) intended to hold a public image URL.imagevalue.400 Bad Request — "Either a valid image file or a listing_image_id must be provided."The request went out as a text field containing a URL string, not as an actual file attachment, so Etsy correctly didn't recognize it as an upload.
Proposed Solution
Describe the solution you'd like
A parameter type (e.g. "file" or "file from URL") available when Encoding is set to
multipart/form-data, where the value provided is a public URL that the connector fetches server-side and attaches to the request as a real file part — rather than passing the URL through as plain text.Alternatives Considered
Describe alternatives you've considered
No workaround exists within the current builder — every parameter type sends as text regardless of encoding. The only current option is uploading files manually outside the tool.
Area
Connectors (REST, SOAP, GraphQL, Database, MCP Bridge)
Additional Context
Additional context
This isn't Etsy-specific — any API requiring real file uploads (images, documents, etc.) would hit the same wall. A single "file from URL" parameter type would unblock all of them.