Bug Report: GPTs Action forcibly replaces icon_url
const values with alternate image URLs
Summary
In GPTs custom Actions using OpenAPI 3.1.0 schemas, even when a const
value is provided for icon_url
, GPT replaces it with a different URL such as images from Imgur, Flaticon CDN, or OpenAI’s own placeholder icons. This behavior persists even when readOnly: true
and format: "uri"
are used, and the original URL is valid and intended for use (e.g., in Mattermost integrations).
Expected Behavior
Fields defined with const
should retain their exact values during GPT-generated requests, with no substitutions.
"icon_url": {
"type": "string",
"format": "uri",
"const": "https://[custom-domain]/image.png",
"readOnly": true
}
Actual Behavior
The icon_url
field is replaced with unrelated image URLs such as:
https://cdn-icons-png.flaticon.com/512/4712/4712027.png
https://cdn-icons-png.flaticon.com/512/4712/4712109.png
https://i.imgur.com/your-icon.png
https://example.com/icon.png
https://i.imgur.com/Uw3XQpE.png
These substitutions occur even though the schema mandates a specific constant value.
Reproduction Steps
- Create a GPT with an Action where
icon_url
is defined with aconst
value. - Use a valid image URL hosted on a private or custom domain.
- Initiate a fresh chat and invoke the Action naturally.
- Observe the outgoing parameters — the
icon_url
is replaced.
Impact
- Prevents reliable branding or user identity representation in tools like Mattermost (via webhook integration)
- Violates the developer’s expectations of
const
behavior in schemas - May lead to privacy, branding, or trust issues due to unexpected third-party imagery
Notes
- The replacement URLs are deterministic — a given original always maps to the same alternate
- When using
.gif
as the format, other parameters (e.g.,username
) may be dropped - Suggests internal URL sanitization or content substitution mechanisms that ignore schema rules
- The Action is able to communicate with my webhook endpoint successfully. The issue is strictly with parameter value substitution (
icon_url
), not with connectivity or endpoint resolution. I am aware of the correct usage ofservers.url
andpaths
in OpenAPI, and have verified the setup.
Meta
This report was drafted by a user with the assistance of GPT, based on direct testing and observation.