Short answer: Drop the "Google BigQuery → Run BigQuery SQL Query" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Project ID project_id | string | Required | GCP project that billing/quotas apply to. |
SQL Query query | string | Required | Standard SQL. Use fully-qualified table names: `project.dataset.table`. |
Use Legacy SQL use_legacy_sql | boolean | Optional | Leave off for standard SQL (recommended). On only for legacy BQ syntax. |
Max Results max_results | number | Optional | Rows per page. |
Query Timeout (ms) timeout_ms | number | Optional | How long to wait for the query to finish before returning a jobId for async polling. |
{"project_id": "my-gcp-project-12345","query": "SELECT name, COUNT(*) AS count FROM `bigquery-public-data.usa_names.usa_1910_2013` WHERE state = 'CA' GROUP BY name ORDER BY count DESC LIMIT 10","use_legacy_sql": "{{trigger.use_legacy_sql}}","max_results": "{{trigger.max_results}}","timeout_ms": "{{trigger.timeout_ms}}"}
{"kind": "bigquery#queryResponse","rows": [{"f": [{"v": "John"},{"v": "12345"}]}],"schema": {"fields": [{"name": "name","type": "STRING"},{"name": "count","type": "INTEGER"}]},"totalRows": "10","jobComplete": true,"jobReference": {"jobId": "job_abc123","projectId": "my-project"}}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.
Triggered by anything in the catalog. Free tier available. No credit card.