# New, Updated, or Deleted Warehouse — Snowflake

> Emit new events when a warehouse is created, altered, or dropped

- Key: `snowflake-change-to-warehouse`
- Type: Trigger (Polling)
- Version: 0.1.5
- App: Snowflake (`snowflake`) — https://pipedream.com/apps/snowflake.md
- This page (HTML): https://pipedream.com/apps/snowflake/triggers/change-to-warehouse
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/snowflake/sources/change-to-warehouse/change-to-warehouse.mjs

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `timer` | `$.interface.timer` | Yes | Watch for changes on this schedule. Snowflake query history has roughly a 45 minute delay |
| `queryTypes` | `string[]` | No | Optional. The type of queries to watch for. If not provided, changes will be emitted for all query types. |
| `warehouses` | `string[]` | No | Optional. The name of the warehouse(s) you want to watch for changes. If not provided, changes will be emitted for all warehouses this account has access to. Options are loaded from the connected account. |

## Returns

Events emitted by Snowflake.

## Run it

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const deployed = await pd.triggers.deploy({
  id: "snowflake-change-to-warehouse",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    snowflake: { authProvisionId: "apn_xxxxxxx" },
    timer: { "intervalSeconds": 900 },
    queryTypes: ["Query Types"],
  },
  webhookUrl: "https://example.com/webhooks/snowflake",
})

console.log(deployed.id)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "snowflake-change-to-warehouse",
    "webhook_url": "https://example.com/webhooks/snowflake",
    "configured_props": {
      "snowflake": { "authProvisionId": "apn_xxxxxxx" },
      "timer": { "intervalSeconds": 900 },
      "queryTypes": ["Query Types"]
    }
  }'
```

**MCP**

MCP servers expose Snowflake actions as on-demand tools.

New, Updated, or Deleted Warehouse is an event source, so your application deploys it with the Connect SDK or API and then either receives each event at a webhook URL or retrieves events on demand with the trigger events API.

## Event delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source. Or: no webhook required — your app or agent can fetch recent events from the [trigger events API](https://pipedream.com/docs/connect/api-reference/list-trigger-events.md) instead.

---

- App: https://pipedream.com/apps/snowflake.md · All apps: https://pipedream.com/apps
