An organization runs its own privately hosted Azure OpenAI deployment — its own resource under its own tenant, not the public Azure OpenAI endpoint — and wants an agent to call that private deployment instead of a public one.
Symptom
The team already has a working model deployed on their own Azure OpenAI resource, and they want an agent to send requests to that specific private deployment — not to any public/shared Azure OpenAI endpoint. It isn't obvious from the standard Azure OpenAI connection form how (or whether) a private, non-standard endpoint is supported.
Cause
The Azure OpenAI connection type is built to point at whichever Azure OpenAI resource you give it — public or private — because it needs a resource name, deployment ID, and API version regardless of hosting. For resources whose endpoint doesn't follow the standard <resource-name>.openai.azure.com pattern, it has two options: Custom domain, to use a different Azure domain with your short resource name, and Custom resource URL, to enter a fully custom host name. No custom development is needed: this is existing, supported connection behavior.
Fix
Go to Connections › New Connection and select Azure OpenAI.
Fill in the connection form: a Connection name to identify it; an Authentication type of either API key (sent in the
api-keyheader) or Token (Microsoft Entra ID / Azure AD, sent as a bearer token); and the matching credential — API key or Auth token.
Next, describe your private endpoint's host. In Azure Portal, find the endpoint under your Azure OpenAI resource's Overview or Keys and Endpoint. Then pick the case that matches it:
Standard host (for example,
my-private-resource.openai.azure.com): leave Custom resource URL off and enter only the short resource name,my-private-resource, in Resource name.Another Azure domain (for example,
my-private-resource.services.ai.azure.com): leave Custom resource URL off, enter the short resource name in Resource name, and enter the domain (for example,services.ai.azure.com) in Custom domain.Fully custom host: turn Custom resource URL on and enter the full host name in Resource name, without
https://or a path.
Fill in the remaining fields that describe your deployment:
Deployment ID — the name you gave your deployed model in Model deployments under Resource Management in Azure OpenAI Studio (for example, a GPT-4-class or embedding deployment name).
API version — the API version your deployment supports (for example, a dated version like
2023-05-15, or a preview version).
Save the connection. Then, in the Model Library, add a model using this connection (Add Model from Library or Add Model with your connection) so it becomes available to agents.
To verify, don't rely on the connection saving without error — saving doesn't test the endpoint, so a wrong value can still save. Select the model for a function (for example, Response Generation) on a test agent, and confirm a chat with that agent returns a real response. If it doesn't, check Resource name, Custom domain, Deployment ID, and API version.
Prevention
The same Azure OpenAI connection type covers both the public endpoint and a privately hosted one. The difference is only in how you describe the host: a short Resource name for the standard domain, a short Resource name plus Custom domain for another Azure domain, or Custom resource URL with the full host name in Resource name. There's no separate "private Azure OpenAI" connection type to look for.
Note: Resource name, Deployment ID, and API version must all match your private deployment exactly — these values come from your own Azure OpenAI Studio and Azure Portal, not from any UnifyApps-side configuration.