Skip to main content
GET
/
automation
/
v3
/
workflows
/
{workflowId}
Get a workflow
curl --request GET \
  --url https://api.hubapi.com/automation/v3/workflows/{workflowId}
import requests

url = "https://api.hubapi.com/automation/v3/workflows/{workflowId}"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://api.hubapi.com/automation/v3/workflows/{workflowId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/automation/v3/workflows/{workflowId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.hubapi.com/automation/v3/workflows/{workflowId}"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.hubapi.com/automation/v3/workflows/{workflowId}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/automation/v3/workflows/{workflowId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "name": "Testing 123",
  "actions": [],
  "id": 10900,
  "type": "DRIP_DELAY",
  "enabled": false,
  "portalId": 62515,
  "internal": false,
  "onlyExecOnBizDays": true,
  "nurtureTimeRange": {
    "enabled": false,
    "startHour": 9,
    "stopHour": 10
  },
  "listening": false,
  "insertedAt": 1348564640837,
  "updatedAt": 1467737836223,
  "allowContactToTriggerMultipleTimes": false,
  "unenrollmentSetting": {
    "type": "NONE",
    "excludedWorkflows": []
  },
  "recurringSetting": {
    "type": "NONE"
  },
  "enrollOnCriteriaUpdate": false,
  "onlyEnrollsManually": false,
  "goalCriteria": [
    [
      {
        "propertyObjectType": "COMPANY",
        "filterFamily": "CompanyPropertyValue",
        "withinTimeMode": "PAST",
        "property": "active__c",
        "value": "Yes",
        "type": "enumeration",
        "operator": "SET_ANY"
      }
    ]
  ],
  "reEnrollmentTriggerSets": [],
  "suppressionListIds": [],
  "lastUpdatedBy": "test@hubspot.com",
  "segmentCriteria": [],
  "metaData": {
    "triggeredByWorkflowIds": [],
    "succeededListId": 183192,
    "contactListIds": {
      "active": 68737,
      "completed": 301,
      "succeeded": 183192,
      "enrolled": 300
    }
  }
}
{
"status": "<string>",
"message": "<string>",
"correlationId": "<string>"
}

Path Parameters

workflowId
integer
required

ID of the workflow

Query Parameters

errors
boolean

Include validation errors and warnings

stats
boolean

Include workflow statistics

Response

Workflow metadata

Simplified workflow schema

id
integer
name
string
type
string
enabled
boolean
Last modified on March 16, 2026