Tool: update_workflow_config
Update the properties of an existing Dataform workflow configuration, such as its execution schedule (cron), associated release configuration, or invocation overrides.
Modifications to the cron_schedule take effect immediately for all future scheduled executions.
The name parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.
The workflow invocation must be created using a custom service account. You can specify the service account using the invocationConfig.serviceAccount field. The service account can't be the default Dataform service agent. The service account must have the necessary permissions to execute the workflow, and the user must be authorized to act as the selected service account. This authorization is typically granted through the Service Account User (roles/iam.serviceAccountUser) IAM role, which can be granted on the service account itself or on the project that contains it.
The following sample demonstrate how to use curl to invoke the update_workflow_config 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": "update_workflow_config", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
UpdateWorkflowConfig request message.
UpdateWorkflowConfigRequest
| JSON representation |
|---|
{
"updateMask": string,
"workflowConfig": {
object ( |
| Fields | |
|---|---|
updateMask |
Optional. Specifies the fields to be updated in the workflow config. If left unset, all fields will be updated. This is a comma-separated list of fully qualified names of fields. Example: |
workflowConfig |
Required. The workflow config to update. |
FieldMask
| JSON representation |
|---|
{ "paths": [ string ] } |
| Fields | |
|---|---|
paths[] |
The set of field mask paths. |
WorkflowConfig
| JSON representation |
|---|
{ "name": string, "releaseConfig": string, "invocationConfig": { object ( |
| Fields | |
|---|---|
name |
Identifier. The workflow config's name. |
releaseConfig |
Required. The name of the release config whose release_compilation_result should be executed. Must be in the format |
invocationConfig |
Optional. If left unset, a default InvocationConfig will be used. |
cronSchedule |
Optional. Optional schedule (in cron format) for automatic execution of this workflow config. |
timeZone |
Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database. If left unspecified, the default is |
recentScheduledExecutionRecords[] |
Output only. Records of the 10 most recent scheduled execution attempts, ordered in descending order of |
disabled |
Optional. Disables automatic creation of workflow invocations. |
createTime |
Output only. The timestamp of when the WorkflowConfig was created. 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: |
updateTime |
Output only. The timestamp of when the WorkflowConfig was last updated. 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: |
workflowTriggerConfig |
Optional. Trigger configuration for this workflow. If present, the workflow will be triggered based on the specified triggers. |
Union field
|
|
internalMetadata |
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. |
InvocationConfig
| JSON representation |
|---|
{ "includedTargets": [ { object ( |
| Fields | |
|---|---|
includedTargets[] |
Optional. The set of action identifiers to include. |
includedTags[] |
Optional. The set of tags to include. |
transitiveDependenciesIncluded |
Optional. When set to true, transitive dependencies of included actions will be executed. |
transitiveDependentsIncluded |
Optional. When set to true, transitive dependents of included actions will be executed. |
fullyRefreshIncrementalTablesEnabled |
Optional. When set to true, any incremental tables will be fully refreshed. |
serviceAccount |
Optional. The service account to run workflow invocations under. |
Union field
|
|
queryPriority |
Optional. Specifies the priority for query execution in BigQuery. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries. |
Target
| JSON representation |
|---|
{ "database": string, "schema": string, "name": string } |
| Fields | |
|---|---|
database |
Optional. The action's database (Google Cloud project ID) . |
schema |
Optional. The action's schema (BigQuery dataset ID), within |
name |
Optional. The action's name, within |
ScheduledExecutionRecord
| JSON representation |
|---|
{ "executionTime": string, // Union field |
| Fields | |
|---|---|
executionTime |
Output only. The timestamp of this execution attempt. 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: |
Union field result. The result of this execution attempt. result can be only one of the following: |
|
workflowInvocation |
The name of the created workflow invocation, if one was successfully created. Must be in the format |
errorStatus |
The error status encountered upon this attempt to create the workflow invocation, if the attempt was unsuccessful. |
Status
| JSON representation |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Fields | |
|---|---|
code |
The status code, which should be an enum value of |
message |
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[] |
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl": string, "value": string } |
| Fields | |
|---|---|
typeUrl |
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value |
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
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. |
WorkflowTriggerConfig
| JSON representation |
|---|
{ "condition": enum ( |
| Fields | |
|---|---|
condition |
Optional. The condition to use when triggering the workflow. |
workflowTriggers[] |
Required. The trigger definitions to invoke a workflow. |
minExecutionDuration |
Optional. Minimum duration between two consecutive executions. If not specified, the workflow will be executed every time trigger conditions are met and there is no ongoing workflow execution. A duration in seconds with up to nine fractional digits, ending with ' |
maxWaitDuration |
Optional. The effective maximum wait time duration for the trigger condition to be met. If not specified, the workflow won't be triggered until conditions are met. A duration in seconds with up to nine fractional digits, ending with ' |
recentTriggerEvaluationRecords[] |
Output only. Records of the 10 most recent trigger evaluations, ordered in descending order of |
lastSuccessfulEvaluationTime |
Output only. The timestamp of the last successful trigger evaluation. 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: |
WorkflowTrigger
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field trigger. The trigger defining the conditions to invoke a workflow. trigger can be only one of the following: |
|
tableUpdateTrigger |
The table update trigger configuration. |
TableUpdateTrigger
| JSON representation |
|---|
{
"table": {
object ( |
| Fields | |
|---|---|
table |
The target table to trigger the workflow. |
triggerUpdateTime |
Output only. The modification time of this table that resulted in an invocation of the workflow. This would be updated by the triggering service after a successful workflow invocation. 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: |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
TriggerEvaluationRecord
| JSON representation |
|---|
{
"evaluationTime": string,
"status": {
object ( |
| Fields | |
|---|---|
evaluationTime |
Output only. The timestamp of this trigger evaluation attempt. 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: |
status |
Output only. The status of the trigger evaluation. Success is indicated by a code of 0 (OK). Message will only be present if the status code is non-zero. |
QueryPriority
Types of priority for query execution in BigQuery.
| Enums | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Default value. This value is unused. |
INTERACTIVE |
Query will be executed in BigQuery with interactive priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
Query will be executed in BigQuery with batch priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Condition
The condition to use when triggering the workflow.
| Enums | |
|---|---|
CONDITION_UNSPECIFIED |
If CONDITION_UNSPECIFIED, the default value is ANY. |
ALL |
If ALL, all the trigger config conditions must be met before a workflow is invoked. |
ANY |
If ANY, at least one of the trigger config conditions must be met before a workflow is invoked. |
Output Schema
Represents a Dataform workflow configuration.
WorkflowConfig
| JSON representation |
|---|
{ "name": string, "releaseConfig": string, "invocationConfig": { object ( |
| Fields | |
|---|---|
name |
Identifier. The workflow config's name. |
releaseConfig |
Required. The name of the release config whose release_compilation_result should be executed. Must be in the format |
invocationConfig |
Optional. If left unset, a default InvocationConfig will be used. |
cronSchedule |
Optional. Optional schedule (in cron format) for automatic execution of this workflow config. |
timeZone |
Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database. If left unspecified, the default is |
recentScheduledExecutionRecords[] |
Output only. Records of the 10 most recent scheduled execution attempts, ordered in descending order of |
disabled |
Optional. Disables automatic creation of workflow invocations. |
createTime |
Output only. The timestamp of when the WorkflowConfig was created. 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: |
updateTime |
Output only. The timestamp of when the WorkflowConfig was last updated. 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: |
workflowTriggerConfig |
Optional. Trigger configuration for this workflow. If present, the workflow will be triggered based on the specified triggers. |
Union field
|
|
internalMetadata |
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. |
InvocationConfig
| JSON representation |
|---|
{ "includedTargets": [ { object ( |
| Fields | |
|---|---|
includedTargets[] |
Optional. The set of action identifiers to include. |
includedTags[] |
Optional. The set of tags to include. |
transitiveDependenciesIncluded |
Optional. When set to true, transitive dependencies of included actions will be executed. |
transitiveDependentsIncluded |
Optional. When set to true, transitive dependents of included actions will be executed. |
fullyRefreshIncrementalTablesEnabled |
Optional. When set to true, any incremental tables will be fully refreshed. |
serviceAccount |
Optional. The service account to run workflow invocations under. |
Union field
|
|
queryPriority |
Optional. Specifies the priority for query execution in BigQuery. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries. |
Target
| JSON representation |
|---|
{ "database": string, "schema": string, "name": string } |
| Fields | |
|---|---|
database |
Optional. The action's database (Google Cloud project ID) . |
schema |
Optional. The action's schema (BigQuery dataset ID), within |
name |
Optional. The action's name, within |
ScheduledExecutionRecord
| JSON representation |
|---|
{ "executionTime": string, // Union field |
| Fields | |
|---|---|
executionTime |
Output only. The timestamp of this execution attempt. 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: |
Union field result. The result of this execution attempt. result can be only one of the following: |
|
workflowInvocation |
The name of the created workflow invocation, if one was successfully created. Must be in the format |
errorStatus |
The error status encountered upon this attempt to create the workflow invocation, if the attempt was unsuccessful. |
Status
| JSON representation |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Fields | |
|---|---|
code |
The status code, which should be an enum value of |
message |
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[] |
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl": string, "value": string } |
| Fields | |
|---|---|
typeUrl |
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value |
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
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. |
WorkflowTriggerConfig
| JSON representation |
|---|
{ "condition": enum ( |
| Fields | |
|---|---|
condition |
Optional. The condition to use when triggering the workflow. |
workflowTriggers[] |
Required. The trigger definitions to invoke a workflow. |
minExecutionDuration |
Optional. Minimum duration between two consecutive executions. If not specified, the workflow will be executed every time trigger conditions are met and there is no ongoing workflow execution. A duration in seconds with up to nine fractional digits, ending with ' |
maxWaitDuration |
Optional. The effective maximum wait time duration for the trigger condition to be met. If not specified, the workflow won't be triggered until conditions are met. A duration in seconds with up to nine fractional digits, ending with ' |
recentTriggerEvaluationRecords[] |
Output only. Records of the 10 most recent trigger evaluations, ordered in descending order of |
lastSuccessfulEvaluationTime |
Output only. The timestamp of the last successful trigger evaluation. 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: |
WorkflowTrigger
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field trigger. The trigger defining the conditions to invoke a workflow. trigger can be only one of the following: |
|
tableUpdateTrigger |
The table update trigger configuration. |
TableUpdateTrigger
| JSON representation |
|---|
{
"table": {
object ( |
| Fields | |
|---|---|
table |
The target table to trigger the workflow. |
triggerUpdateTime |
Output only. The modification time of this table that resulted in an invocation of the workflow. This would be updated by the triggering service after a successful workflow invocation. 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: |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
TriggerEvaluationRecord
| JSON representation |
|---|
{
"evaluationTime": string,
"status": {
object ( |
| Fields | |
|---|---|
evaluationTime |
Output only. The timestamp of this trigger evaluation attempt. 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: |
status |
Output only. The status of the trigger evaluation. Success is indicated by a code of 0 (OK). Message will only be present if the status code is non-zero. |
QueryPriority
Types of priority for query execution in BigQuery.
| Enums | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Default value. This value is unused. |
INTERACTIVE |
Query will be executed in BigQuery with interactive priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
Query will be executed in BigQuery with batch priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Condition
The condition to use when triggering the workflow.
| Enums | |
|---|---|
CONDITION_UNSPECIFIED |
If CONDITION_UNSPECIFIED, the default value is ANY. |
ALL |
If ALL, all the trigger config conditions must be met before a workflow is invoked. |
ANY |
If ANY, at least one of the trigger config conditions must be met before a workflow is invoked. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌