MCP Tools Reference: dataform.googleapis.com

Tool: query_workflow_invocation_actions

Return the workflow invocation actions for a given Dataform workflow invocation.

These actions represent the individual BigQuery jobs, table creations, or assertions that make up the workflow.

The name parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}.

The following sample demonstrate how to use curl to invoke the query_workflow_invocation_actions MCP tool.

Curl Request
                  
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "query_workflow_invocation_actions",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

QueryWorkflowInvocationActions request message.

QueryWorkflowInvocationActionsRequest

JSON representation
{
  "name": string,
  "pageSize": integer,
  "pageToken": string
}
Fields
name

string

Required. The workflow invocation's name.

pageSize

integer

Optional. Maximum number of workflow invocations to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.

pageToken

string

Optional. Page token received from a previous QueryWorkflowInvocationActions call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to QueryWorkflowInvocationActions, with the exception of page_size, must match the call that provided the page token.

Output Schema

QueryWorkflowInvocationActions response message.

QueryWorkflowInvocationActionsResponse

JSON representation
{
  "workflowInvocationActions": [
    {
      object (WorkflowInvocationAction)
    }
  ],
  "nextPageToken": string
}
Fields
workflowInvocationActions[]

object (WorkflowInvocationAction)

List of workflow invocation actions.

nextPageToken

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

WorkflowInvocationAction

JSON representation
{
  "target": {
    object (Target)
  },
  "canonicalTarget": {
    object (Target)
  },
  "state": enum (State),
  "failureReason": string,
  "invocationTiming": {
    object (Interval)
  },

  // Union field action can be only one of the following:
  "bigqueryAction": {
    object (BigQueryAction)
  },
  "notebookAction": {
    object (NotebookAction)
  },
  "dataPreparationAction": {
    object (DataPreparationAction)
  }
  // End of list of possible types for union field action.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
Fields
target

object (Target)

Output only. This action's identifier. Unique within the workflow invocation.

canonicalTarget

object (Target)

Output only. The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result.

state

enum (State)

Output only. This action's current state.

failureReason

string

Output only. If and only if action's state is FAILED a failure reason is set.

invocationTiming

object (Interval)

Output only. This action's timing details. start_time will be set if the action is in [RUNNING, SUCCEEDED, CANCELLED, FAILED] state. end_time will be set if the action is in [SUCCEEDED, CANCELLED, FAILED] state.

Union field action. The action's details. action can be only one of the following:
bigqueryAction

object (BigQueryAction)

Output only. The workflow action's bigquery action details.

notebookAction

object (NotebookAction)

Output only. The workflow action's notebook action details.

dataPreparationAction

object (DataPreparationAction)

Output only. The workflow action's data preparation action details.

Union field _internal_metadata.

_internal_metadata can be only one of the following:

internalMetadata

string

Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.

BigQueryAction

JSON representation
{
  "sqlScript": string,
  "jobId": string
}
Fields
sqlScript

string

Output only. The generated BigQuery SQL script that will be executed.

jobId

string

Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run.

NotebookAction

JSON representation
{
  "contents": string,
  "jobId": string,
  "filePath": string
}
Fields
contents

string

Output only. The code contents of a Notebook to be run.

jobId

string

Output only. The ID of the Gemini Enterprise Agent Platform job that executed the notebook in contents and also the ID used for the outputs created in Google Cloud Storage buckets. Only set once the job has started to run.

filePath

string

Output only. The path to the notebook file in the repository.

DataPreparationAction

JSON representation
{
  "generatedSql": string,
  "jobId": string,

  // Union field definition can be only one of the following:
  "contentsYaml": string,
  "contentsSql": {
    object (ActionSqlDefinition)
  }
  // End of list of possible types for union field definition.
}
Fields
generatedSql

string

Output only. The generated BigQuery SQL script that will be executed. For reference only.

jobId

string

Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run.

Union field definition. The definition for the data preparation. definition can be only one of the following:
contentsYaml

string

Output only. YAML representing the contents of the data preparation. Can be used to show the customer what the input was to their workflow.

contentsSql

object (ActionSqlDefinition)

SQL definition for a Data Preparation. Contains a SQL query and additional context information.

ActionSqlDefinition

JSON representation
{
  "query": string,
  "errorTable": {
    object (ActionErrorTable)
  },
  "loadConfig": {
    object (ActionLoadConfig)
  }
}
Fields
query

string

The SQL query representing the data preparation steps. Formatted as a Pipe SQL query statement.

errorTable

object (ActionErrorTable)

Error table configuration,

loadConfig

object (ActionLoadConfig)

Load configuration.

ActionErrorTable

JSON representation
{
  "target": {
    object (Target)
  },
  "retentionDays": integer
}
Fields
target

object (Target)

Error Table target.

retentionDays

integer

Error table partition expiration in days. Only positive values are allowed.

Target

JSON representation
{
  "database": string,
  "schema": string,
  "name": string
}
Fields
database

string

Optional. The action's database (Google Cloud project ID) .

schema

string

Optional. The action's schema (BigQuery dataset ID), within database.

name

string

Optional. The action's name, within database and schema.

ActionLoadConfig

JSON representation
{

  // Union field mode can be only one of the following:
  "replace": {
    object (ActionSimpleLoadMode)
  },
  "append": {
    object (ActionSimpleLoadMode)
  },
  "maximum": {
    object (ActionIncrementalLoadMode)
  },
  "unique": {
    object (ActionIncrementalLoadMode)
  }
  // End of list of possible types for union field mode.
}
Fields
Union field mode. Load mode mode can be only one of the following:
replace

object (ActionSimpleLoadMode)

Replace destination table

append

object (ActionSimpleLoadMode)

Append into destination table

maximum

object (ActionIncrementalLoadMode)

Insert records where the value exceeds the previous maximum value for a column in the destination table

unique

object (ActionIncrementalLoadMode)

Insert records where the value of a column is not already present in the destination table

ActionIncrementalLoadMode

JSON representation
{
  "column": string
}
Fields
column

string

Column name for incremental load modes

Interval

JSON representation
{
  "startTime": string,
  "endTime": string
}
Fields
startTime

string (Timestamp format)

Optional. Inclusive start of the interval.

If specified, a Timestamp matching this interval will have to be the same or after the start.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Optional. Exclusive end of the interval.

If specified, a Timestamp matching this interval will have to be before the end.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

Timestamp

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).

nanos

integer

Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive.

State

Represents the current state of a workflow invocation action.

Enums
PENDING The action has not yet been considered for invocation.
RUNNING The action is currently running.
SKIPPED Execution of the action was skipped because upstream dependencies did not all complete successfully. A terminal state.
DISABLED Execution of the action was disabled as per the configuration of the corresponding compilation result action. A terminal state.
SUCCEEDED The action succeeded. A terminal state.
CANCELLED The action was cancelled. A terminal state.
FAILED The action failed. A terminal state.

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌