GPTs Actions: icon_url const value forcibly replaced with alternate URLs (Bug)

:bug: 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

  1. Create a GPT with an Action where icon_url is defined with a const value.
  2. Use a valid image URL hosted on a private or custom domain.
  3. Initiate a fresh chat and invoke the Action naturally.
  4. 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 of servers.url and paths 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.