What connecting it does for you
Connecting your own Azure Static Web Apps account lets you publish a static site to your Azure Static Web Apps account from your Zinn® dashboard. You own the project and the bill; we handle the deploy, the custom domain and the DNS records.
Before you start
An Azure subscription, a resource group for the sites, and a connected GitHub, GitLab or Bitbucket account holding the code — Azure Static Web Apps builds from a repository. Azure's free plan allows commercial use and two custom domains per app.
1. Create the key at Azure Static Web Apps
Azure calls this a service principal. In the Microsoft Entra admin center open Entra ID → App registrations → New registration, give it a name and Register it. On the app's overview page copy the Application (client) ID and the Directory (tenant) ID. Then open Certificates & secrets → Client secrets → New client secret, choose a duration and Add it — copy the secret's value straight away, Azure shows it once.
In the Azure portal, open the resource group you want us to use, then Access control (IAM) → Add → Add role assignment. Choose the Contributor role, assign it to User, group, or service principal, search for the app by name, and Review + assign. Note the resource group's name and the Subscription ID it belongs to (search Subscriptions in the portal).
2. Connect it here
Open Integrations in your dashboard and choose Connect an account. Pick Static hosting (Netlify, Vercel) as the group and Azure Static Web Apps as the account, fill in Client ID, Client secret, Tenant ID, Subscription ID and Resource group, and press Connect account.
We test what you paste before anything is saved. A key that does not work is never stored, and the answer says what was wrong with it. A key that works is kept encrypted in our secrets vault — never in our database — and is never shown again, not even to you.
What happens next
- When you create or move a static site, this account appears as a deploy
target. Azure Static Web Apps builds from a repository — it has no way to accept an uploaded build — so the site's code must come from a connected GitHub, GitLab or Bitbucket repository. Connect one first if you have not.
- We create the service on your account, point it at the repository, attach your custom domain
and trigger deploys. The domain's page shows any DNS record Azure Static Web Apps needs.
- Usage and billing are on your account, visible in your own vendor dashboard.
- An apex domain is verified by a TXT record and a subdomain by its CNAME; the domain's page shows
which one your domain needs.
If it does not connect
Azure refused the service principal. Either the client secret has expired — they always do, on the duration you chose — or the app no longer has Contributor on the resource group. The two messages look alike, so check the role assignment before creating a new secret.
Nothing is found. Check the Subscription ID and Resource group are the ones you assigned the role on, and that the Tenant ID is the directory the app is registered in.
It says the key was rejected. Almost always one of three things: a space or a line break copied with it, a key that has expired, or a key that was revoked or regenerated after you copied it. Create a fresh one and paste it again.
It connects, but something later fails. The key authenticates but lacks a permission the action needs. Create a new key with the permissions listed above, then disconnect the old connection and connect the new key.
Disconnecting
Open Integrations, find the account and press Disconnect. That deletes the stored key at once. Anything that was using it stops at its next action, and the screens that depended on it say so rather than failing quietly.
Disconnecting does not undo what was already done — records, deployments or settings we changed on your account stay as they are. If you think the key itself may have leaked, also revoke it at the vendor; disconnecting removes our copy, not theirs.