Salesforce Flows API

Flow and FlowDefinition management

Operations 3

GET /sobjects/Flow/{flowId} Get a Flow definition #
GET /sobjects/FlowDefinition/{flowDefinitionId} Get a Flow definition metadata #
PATCH /sobjects/FlowDefinition/{flowDefinitionId} Activate or deactivate a Flow version #

Documentation

📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
📖
Authentication
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_oauth_and_connected_apps.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/quickstart.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_list.htm
📖
RateLimits
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_limits.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_quickstart.htm
📖
Authentication
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/authentication.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/quick_start.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/intro_what_is_chatter_connect.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickstart.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_overview.htm
📖
RateLimits
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/intro_rate_limits.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_composite.htm
📖
Documentation
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest.htm
📖
GettingStarted
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_intro.htm
📖
APIReference
https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_restrequest.htm

Specifications

Code Examples

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/salesforce/refs/heads/main/json-ld/salesforce-automation-context.jsonld
🔗
ChangeLog
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/rest_rns.htm
🔗
PostmanCollection
https://www.postman.com/salesforce-developers/workspace/salesforce-developers/overview
🔗
Best Practices
https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_best_practices.htm
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_intro.htm
🔗
Flow Object Reference
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flow.htm
🔗
Examples
https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickreference.htm
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_what.htm
🔗
Trailhead
https://trailhead.salesforce.com/content/learn/modules/change-data-capture/understand-change-data-capture
🔗
Standard Actions Reference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable_standard.htm
🔗
Custom Actions Reference
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_actions_invocable_custom.htm
🔗
Flow Actions
https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_flow.htm
🔗
Launch a Flow from REST API
https://help.salesforce.com/s/articleView?id=sf.flow_distribute_system_rest.htm&language=en_US&type=5
🔗
Developer Guide
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/using_composite_resources.htm
🔗
Composite Batch
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_batch.htm
🔗
Composite Graph
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/using_resources_composite_graph.htm

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/salesforce-automation-flows-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

salesforce-automation-flows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Tooling Flows API
  description: REST API for building custom development tools for Salesforce applications. Provides access to metadata about Apex classes, triggers, Visualforce pages, flows, and other platform components. Supports CRUD operations and SOQL queries against Tooling API objects like ApexClass, ApexTrigger, Flow, FlowDefinition, and CustomField.
  version: '63.0'
  contact:
    name: Salesforce Developer Support
    url: https://developer.salesforce.com/support
    email: developer@salesforce.com
  license:
    name: Salesforce API Terms of Use
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.salesforce.com/services/data/v63.0/tooling
  description: Salesforce production or developer instance
  variables:
    instance:
      default: yourInstance
      description: Your Salesforce instance identifier
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Flows
  description: Flow and FlowDefinition management
paths:
  /sobjects/Flow/{flowId}:
    get:
      operationId: getFlow
      summary: Get a Flow definition
      description: Retrieves metadata for a specific Salesforce Flow, including its version, status, process type, and associated metadata. Flows are the primary automation mechanism in Salesforce.
      tags:
      - Flows
      parameters:
      - name: flowId
        in: path
        required: true
        description: The 18-character ID of the Flow version record
        schema:
          type: string
      responses:
        '200':
          description: Flow record data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Flow'
  /sobjects/FlowDefinition/{flowDefinitionId}:
    get:
      operationId: getFlowDefinition
      summary: Get a Flow definition metadata
      description: Retrieves the FlowDefinition record, which represents the overall Flow independent of version. Contains the active version number and the developer name.
      tags:
      - Flows
      parameters:
      - name: flowDefinitionId
        in: path
        required: true
        description: The 18-character ID of the FlowDefinition record
        schema:
          type: string
      responses:
        '200':
          description: FlowDefinition record data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowDefinition'
    patch:
      operationId: updateFlowDefinition
      summary: Activate or deactivate a Flow version
      description: Updates the FlowDefinition to activate a specific flow version by setting the ActiveVersionNumber, or deactivates by setting it to null.
      tags:
      - Flows
      parameters:
      - name: flowDefinitionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                Metadata:
                  type: object
                  properties:
                    activeVersionNumber:
                      type:
                      - integer
                      - 'null'
                      description: Set to a version number to activate that version, or null to deactivate
      responses:
        '204':
          description: FlowDefinition updated
components:
  schemas:
    Flow:
      type: object
      description: A specific version of a Salesforce Flow automation. The Flow object in the Tooling API represents individual flow versions with their metadata, process type, and status.
      properties:
        Id:
          type: string
        DefinitionId:
          type: string
          description: The ID of the parent FlowDefinition
        MasterLabel:
          type: string
          description: The display label for this flow
        Description:
          type:
          - string
          - 'null'
        ProcessType:
          type: string
          enum:
          - AutoLaunchedFlow
          - Flow
          - Workflow
          - CustomEvent
          - InvocableProcess
          - LoginFlow
          - ActionPlan
          - JourneyBuilderIntegration
          - UserProvisioningFlow
          - Survey
          - SurveyEnrich
          - Appointments
          - FSCLending
          - DigitalForm
          - FieldServiceMobile
          - OrchestrationFlow
          - RoutingFlow
          - ServiceProcess
          - TransactionSecurityFlow
          - ContactRequestFlow
          - ActionCadenceFlow
          - CheckoutFlow
          - CartAsyncFlow
          - DecisionTable
          - EvaluationFlow
          - IndividualObjectLinkingFlow
          - PromptFlow
          - RecordAlertTemplateFlow
          - ScreenFlow
          - Orchestrator
          description: The type of flow. AutoLaunchedFlow runs without user interaction. Flow (Screen Flow) presents UI screens. Workflow represents Process Builder processes.
        Status:
          type: string
          enum:
          - Active
          - Draft
          - Obsolete
          - InvalidDraft
          description: The status of this flow version
        VersionNumber:
          type: integer
          description: The version number within the FlowDefinition
        ApiVersion:
          type: string
          description: The Salesforce API version of this flow
        FullName:
          type: string
          description: The developer name of the flow (unique within the org)
        Metadata:
          type: object
          description: The full flow metadata including elements, connectors, variables, and configuration
          additionalProperties: true
        CreatedDate:
          type: string
          format: date-time
        LastModifiedDate:
          type: string
          format: date-time
        CreatedById:
          type: string
        LastModifiedById:
          type: string
    FlowDefinition:
      type: object
      description: Represents the overall Flow definition independent of version. Contains the active version number and developer name.
      properties:
        Id:
          type: string
        DeveloperName:
          type: string
          description: The unique developer name for this flow
        MasterLabel:
          type: string
        Description:
          type:
          - string
          - 'null'
        ActiveVersionId:
          type:
          - string
          - 'null'
          description: The ID of the currently active Flow version
        LatestVersionId:
          type: string
          description: The ID of the most recent Flow version
        Metadata:
          type: object
          properties:
            activeVersionNumber:
              type:
              - integer
              - 'null'
        NamespacePrefix:
          type:
          - string
          - 'null'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
          tokenUrl: https://login.salesforce.com/services/oauth2/token
          scopes:
            api: Access and manage your Salesforce data
    bearerAuth:
      type: http
      scheme: bearer