# Workflow Operators

Operators are the actions that workflow tasks run, such as running a query, waiting for data to arrive, or sending an email. Each task in a workflow definition uses one operator. This page lists the operators available in Treasure Workflow and the [common parameters](#common-parameters) that you can use with every operator.

## Control Operators

| Operator | Description |
|  --- | --- |
| [call](/products/customer-data-platform/data-workbench/workflows/operators/call) | Calls another workflow |
| [http_call](/products/customer-data-platform/data-workbench/workflows/operators/http_call) | Call workflow fetched by HTTP |
| [require](/products/customer-data-platform/data-workbench/workflows/operators/require) | Depends on another workflow |
| [loop](/products/customer-data-platform/data-workbench/workflows/operators/loop) | Repeat tasks |
| [for_each](/products/customer-data-platform/data-workbench/workflows/operators/for_each) | Repeat tasks for values |
| [for_range](/products/customer-data-platform/data-workbench/workflows/operators/for_range) | Repeat tasks for a range |
| [if](/products/customer-data-platform/data-workbench/workflows/operators/if) | Conditional execution |
| [fail](/products/customer-data-platform/data-workbench/workflows/operators/fail) | Makes the workflow failed |
| [echo](/products/customer-data-platform/data-workbench/workflows/operators/echo) | Shows a message |
| [wait](/products/customer-data-platform/data-workbench/workflows/operators/wait) | Wait for a specific duration |


## Treasure Data Operators

| Operator | Description |
|  --- | --- |
| [td](/products/customer-data-platform/data-workbench/workflows/operators/td) | Treasure Data queries |
| [td_run](/products/customer-data-platform/data-workbench/workflows/operators/td_run) | Treasure Data saved queries |
| [td_ddl](/products/customer-data-platform/data-workbench/workflows/operators/td_ddl) | Treasure Data operations |
| [td_load](/products/customer-data-platform/data-workbench/workflows/operators/td_load) | Treasure Data bulk loading |
| [td_for_each](/products/customer-data-platform/data-workbench/workflows/operators/td_for_each) | Repeat using Treasure Data queries |
| [td_wait](/products/customer-data-platform/data-workbench/workflows/operators/td_wait) | Waits for data arriving at Treasure Data table |
| [td_wait_table](/products/customer-data-platform/data-workbench/workflows/operators/td_wait_table) | Waits for data arriving at Treasure Data table |
| [td_table_export](/products/customer-data-platform/data-workbench/workflows/operators/td_table_export) | Treasure Data table export to S3 |
| [td_result_export](/products/customer-data-platform/data-workbench/workflows/operators/td_result_export) | Treasure Data result exporter |


## Network Operators

| Operator | Description |
|  --- | --- |
| [mail](/products/customer-data-platform/data-workbench/workflows/operators/mail) | Sending email |
| [http](/products/customer-data-platform/data-workbench/workflows/operators/http) | Making HTTP requests |


## Database operators

| Operator | Description |
|  --- | --- |
| [databricks](/products/customer-data-platform/data-workbench/workflows/operators/databricks) | Execute SQL statements on Databricks |
| [pg](/products/customer-data-platform/data-workbench/workflows/operators/pg) | PostgreSQL operations |
| [snowflake](/products/customer-data-platform/data-workbench/workflows/operators/snowflake) | Execute SQL statements on Snowflake |


## Amazon Web Services Operators

| Operator | Description |
|  --- | --- |
| [s3_wait](/products/customer-data-platform/data-workbench/workflows/operators/s3_wait) | Wait for a file in Amazon S3 |
| [s3_copy](/products/customer-data-platform/data-workbench/workflows/operators/s3_copy) | Copy files in Amazon S3 |
| [s3_delete](/products/customer-data-platform/data-workbench/workflows/operators/s3_delete) | Delete files in Amazon S3 |
| [s3_move](/products/customer-data-platform/data-workbench/workflows/operators/s3_move) | Move files in Amazon S3 |
| [redshift](/products/customer-data-platform/data-workbench/workflows/operators/redshift) | Redshift operations |
| [redshift_load](/products/customer-data-platform/data-workbench/workflows/operators/redshift_load) | Redshift load operations |
| [redshift_unload](/products/customer-data-platform/data-workbench/workflows/operators/redshift_unload) | Redshift unload operations |


## Google Cloud Platform Operators

| Operator | Description |
|  --- | --- |
| [gcs_wait](/products/customer-data-platform/data-workbench/workflows/operators/gcs_wait) | Wait for a file in Google Cloud Storage |
| [bq](/products/customer-data-platform/data-workbench/workflows/operators/bq) | Running Google BigQuery queries |
| [bq_ddl](/products/customer-data-platform/data-workbench/workflows/operators/bq_ddl) | Managing Google BigQuery Datasets and Tables |
| [bq_extract](/products/customer-data-platform/data-workbench/workflows/operators/bq_extract) | Exporting Data from Google BigQuery |
| [bq_load](/products/customer-data-platform/data-workbench/workflows/operators/bq_load) | Importing Data into Google BigQuery |


## Scripting Operators

| Operator | Description |
|  --- | --- |
| [py](/products/customer-data-platform/data-workbench/workflows/operators/py) | Python scripts |


## Unsupported Digdag Operators

| Operator | Description |
|  --- | --- |
| embulk | Embulk data transfer |
| emr | Running Amazon EMR jobs |
| sh | Running shell scripts |
| rb | Running Ruby scripts |
| param_get | Getting persistent data |
| param_set | Storing persistent data |


## Common Parameters

Common parameters control how a task runs, such as how long it can take. You can use the following parameters with every operator.

* **_timeout**: DURATION
The maximum time the task can take. If the task does not finish within this time, it fails, and the operation it started, such as a running query, is canceled.
Set a duration with a time unit, such as `30s`, `10m`, or `1h 30m`.
The time is measured from the first time the task starts running. If the task retries, the retries count toward the same limit.
Some operators cannot cancel their operation after it starts. For these operators, the task may run longer than the specified timeout. In that case, a warning appears in the task log.
Examples:

```yaml
+load_data:
  td>: load_data.sql
  _timeout: 1h
```