Quickstart: Create a workflow using the Google Cloud Console

This quickstart shows you how to create, deploy, and execute your first workflow using the Cloud Console. The workflow sends a request to a sample API and then uses the response to create and send a request to a public API. The workflow then returns the public API's response.

Before you begin

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.

  4. Enable the Workflows API.

    Enable the Workflows API
  5. In the Cloud Console, go to the Service Accounts page.

    Go to Service Accounts
  6. Select a project and then click Create service account.
  7. In the Service account name field, enter a name, such as sa-name.
  8. Click Create.
  9. From the Role list, select Logging > Logs Writer.

    Note: The Role field authorizes your service account to access resources. To send logs to Cloud Logging, assign the roles/logging.logWriter role. If you are developing a production app, always grant the least permissive roles possible. For more information, see Manage access to projects, folders, and organizations. For a list of Workflows roles, see the Access control reference.
  10. Click Continue.
  11. Click Done.

Create and deploy a workflow

  1. To create a new workflow, open the Workflows page in the Google Cloud Console:
    Go to the Workflows page

  2. On the Workflows page in the console, select Create.

  3. Enter a name for the new workflow, such as myFirstWorkflow.

  4. Choose us-central1 for the region.

  5. For service account, select the service account you created earlier.

  6. Select Next.

  7. In the workflow editor, copy and paste the following workflow:


    - getCurrentTime:
        call: http.get
          url: https://us-central1-workflowsample.cloudfunctions.net/datetime
        result: currentTime
    - readWikipedia:
        call: http.get
          url: https://en.wikipedia.org/w/api.php
            action: opensearch
            search: ${currentTime.body.dayOfTheWeek}
        result: wikiResult
    - returnResult:
        return: ${wikiResult.body[1]}


        "getCurrentTime": {
          "call": "http.get",
          "args": {
            "url": "https://us-central1-workflowsample.cloudfunctions.net/datetime"
          "result": "currentTime"
        "readWikipedia": {
          "call": "http.get",
          "args": {
            "url": "https://en.wikipedia.org/w/api.php",
            "query": {
              "action": "opensearch",
              "search": "${currentTime.body.dayOfTheWeek}"
          "result": "wikiResult"
        "returnResult": {
          "return": "${wikiResult.body[1]}"

    This workflow makes a call to a sample API. The returned day of the week is passed to the Wikipedia API. Relevant articles on Wikipedia about the current day of the week are returned.

  8. Select Deploy.

Execute the workflow

Now that your workflow has been successfully deployed, we can execute it for the first time. After deploying the workflow, you'll be taken to its Details page:

Workflow details page

To execute the workflow:

  1. On the Workflow Details page, select Execute.

  2. On the Execute workflow page, select Execute.

  3. View your workflow's results in the Output pane:

    Workflows quickstart output

You've deployed and executed your first workflow!

Clean up

To avoid incurring charges to your Google Cloud account for the resources used in this page, follow these steps.

  1. Go to the Workflows page in the Cloud Console.

  2. From the list of workflows, click a workflow to go to its Workflow Details page.

  3. Click Delete.

  4. Type the name of the workflow and then click Confirm.

What's next