Salesforce Automation Flows API

Flow and FlowDefinition management

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

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/salesforce-automation/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
🔗
Code Samples
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_samples.htm

OpenAPI Specification

salesforce-automation-flows-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Analytics (CRM Analytics) REST Actions Flows API
  description: REST API for accessing and managing CRM Analytics (formerly Tableau CRM / Einstein Analytics) resources including datasets, lenses, dashboards, and dataflows. Enables programmatic access to analytics metadata, query execution, and dashboard management. Uses the Wave API resource at /services/data/vXX.0/wave.
  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/wave
  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:
    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'
    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
  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
            wave_api: Access CRM Analytics REST API resources
    bearerAuth:
      type: http
      scheme: bearer