Wiz

Monitoring Service account

Query Wiz cloud security findings, issues and inventory from any Windmill script, flow or app.

Set up in 3 steps

1

Create a service account

In the Wiz portal, open Settings then Service Accounts, and create one with the scopes your scripts need. Copy its client id and secret.

2

Add the resource in Windmill

Open Resources, add a resource of type wiz, and fill client_id, client_secret and api_endpoint — the GraphQL host for your tenant, shown alongside the service account.

3

Run your first script

Fork any script below and read before writing anything.

Scripts

Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.

Submit a script →

Trigger flows from Wiz

Wiz is not only a destination. These inbound paths are supported today.

New issues (scheduled poll)

The New Issues trigger script polls Wiz and returns the issues created since its last run. To run it, open a flow, add a trigger and choose Scheduled Poll, then pick the trigger script and an interval. Windmill puts the script first in the flow with a loop after it, so the steps you add run once per new item. The cursor is saved per flow: two flows polling the same source each get every item, and test runs keep a cursor of their own.

Resource type

The shape of the credential every script on this page expects.

FieldTypeRequiredWhat it is
api_endpointstringYesTenant-specific GraphQL endpoint, e.g. https://api.us1.app.wiz.io/graphql (the region is shown in the portal under Settings > Service Accounts / API documentation).
audiencestringNoOAuth token audience. Optional — defaults to wiz-api. Some older tenants use beyond-api (check Settings > Service Accounts).
auth_urlstringNoOAuth token endpoint. Optional — defaults to https://auth.app.wiz.io/oauth/token (commercial). Gov tenants use https://auth.gov.wiz.io/oauth/token.
client_idstringYesService account Client ID from Settings > Service Accounts.
client_secretstringYesService account Client Secret. Shown only once at creation.

Questions

Why an API endpoint field?

Wiz gives each tenant its own GraphQL host by region. Every call is built from it, so a wrong endpoint fails before the credentials are checked.

Why a client pair and not a token?

The scripts exchange them for a short-lived token on each run, so nothing expires in the resource.

Are my credentials stored on the hub?

Never. They live only in your own Windmill workspace, encrypted at rest.