> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runalloy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a list of workflows

> Returns a list of all active **parent** workflows associated with your Alloy Embedded account. Note this endpoint does _not_ return a list of workflows that the user has installed, but rather a list of all _available_ workflows. The `installed` flag indicates if the user has installed a copy of the workflow but does not  indicate if the user has a given workflow "active".

For each workflow, this endpoint returns the individual apps that are required as part of the workflow. Commonly used to populate data on an integrations page.



## OpenAPI

````yaml get /workflows
openapi: 3.0.1
info:
  title: Embedded 2025-09
  version: '5.0'
servers:
  - url: https://production.runalloy.com
security: []
paths:
  /workflows:
    get:
      summary: Retrieve a list of workflows
      description: >-
        Returns a list of all active **parent** workflows associated with your
        Alloy Embedded account. Note this endpoint does _not_ return a list of
        workflows that the user has installed, but rather a list of all
        _available_ workflows. The `installed` flag indicates if the user has
        installed a copy of the workflow but does not  indicate if the user has
        a given workflow "active".


        For each workflow, this endpoint returns the individual apps that are
        required as part of the workflow. Commonly used to populate data on an
        integrations page.
      operationId: list-workflows
      parameters:
        - name: userId
          in: query
          description: >-
            The Id of the user you want to lookup. Returned from the Create User
            endpoint. Note: you can also use the Embedded user's `username` in
            this field.
          schema:
            type: string
          required: true
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            default: bearer YOUR_API_KEY
        - $ref: '#/components/parameters/xApiVersion'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    data:
                      - workflowId: 6544eac8e1ee020334af4ec8
                        name: 'Untitled Workflow #595'
                        createdAt: '2023-11-03T12:42:48.304Z'
                        updatedAt: '2023-11-03T13:12:45.522Z'
                        installed: false
                        active: false
                        version: 1
                        integrationId: 6544193cd8c482b3fe875101
                        connectors:
                          - connectorName: KnoCommerce Trigger
                            connectorId: 3fe19002-a854-466a-b1c7-682d6fbe398a
                            connector: knoCommerceTrigger
                            icon: https://cdn.runalloy.com/icons/knoCommerce.png
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      security: []
      x-code-samples:
        - lang: cURL
          source: >
            curl -X GET
            "https://production.runalloy.com/workflows?userId={{userId}}" \
              -H "Authorization: bearer YOUR_API_KEY" \
              -H "x-api-version: 2025-09"
        - lang: Python
          source: |
            import requests

            url = "https://production.runalloy.com/workflows"
            params = {"userId": "{{userId}}"}
            headers = {
                "Authorization": "bearer YOUR_API_KEY",
                "x-api-version": "2025-09"
            }

            response = requests.get(url, params=params, headers=headers)
            print(response.json())
        - lang: JavaScript
          source: >
            const userId = "{{userId}}";

            const url =
            `https://production.runalloy.com/workflows?userId=${userId}`;


            fetch(url, {
              method: "GET",
              headers: {
                "Authorization": "bearer YOUR_API_KEY",
                "x-api-version": "2025-09"
              }
            })
              .then(response => response.json())
              .then(data => console.log(data))
              .catch(error => console.error("Error:", error));
        - lang: PHP
          source: >
            <?php

            $userId = "{{userId}}";

            $url = "https://production.runalloy.com/workflows?userId=" .
            urlencode($userId);


            $ch = curl_init($url);

            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                "Authorization: bearer YOUR_API_KEY",
                "x-api-version: 2025-09"
            ]);


            $response = curl_exec($ch);

            curl_close($ch);

            $data = json_decode($response, true);

            print_r($data);

            ?>
        - lang: Go
          source: |
            package main

            import (
                "encoding/json"
                "fmt"
                "io"
                "net/http"
                "net/url"
            )

            func main() {
                userId := "{{userId}}"
                baseURL := "https://production.runalloy.com/workflows"
                params := url.Values{}
                params.Add("userId", userId)
                fullURL := baseURL + "?" + params.Encode()

                req, _ := http.NewRequest("GET", fullURL, nil)
                req.Header.Set("Authorization", "bearer YOUR_API_KEY")
                req.Header.Set("x-api-version", "2025-09")

                client := &http.Client{}
                resp, _ := client.Do(req)
                defer resp.Body.Close()

                body, _ := io.ReadAll(resp.Body)
                var data map[string]interface{}
                json.Unmarshal(body, &data)
                fmt.Println(data)
            }
        - lang: Java
          source: |
            import java.net.HttpURLConnection;
            import java.net.URL;
            import java.io.BufferedReader;
            import java.io.InputStreamReader;
            import com.google.gson.Gson;
            import java.util.Map;

            public class Example {
                public static void main(String[] args) throws Exception {
                    String userId = "{{userId}}";
                    String urlString = "https://production.runalloy.com/workflows?userId=" + java.net.URLEncoder.encode(userId, "UTF-8");
                    
                    URL url = new URL(urlString);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("GET");
                    conn.setRequestProperty("Authorization", "bearer YOUR_API_KEY");
                    conn.setRequestProperty("x-api-version", "2025-09");
                    
                    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                    String inputLine;
                    StringBuilder response = new StringBuilder();
                    while ((inputLine = in.readLine()) != null) {
                        response.append(inputLine);
                    }
                    in.close();
                    
                    Gson gson = new Gson();
                    Map<String, Object> data = gson.fromJson(response.toString(), Map.class);
                    System.out.println(data);
                }
            }
        - lang: Ruby
          source: |
            require 'net/http'
            require 'json'
            require 'uri'

            userId = "{{userId}}"
            uri = URI("https://production.runalloy.com/workflows")
            params = { userId: userId }
            uri.query = URI.encode_www_form(params)

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

            request = Net::HTTP::Get.new(uri)
            request['Authorization'] = 'bearer YOUR_API_KEY'
            request['x-api-version'] = '2025-09'

            response = http.request(request)
            data = JSON.parse(response.body)
            puts data
components:
  parameters:
    xApiVersion:
      name: x-api-version
      in: header
      required: true
      description: The version of the API to use. The current API version is **2025-09**.
      schema:
        type: string
        default: 2025-09

````