Get Workflow
This endpoint allows you to get information about what workflows exist and the details of those. It provides many options to search on such as group_ids, workflow name and so on. It can be useful for finding workflows in complex or large group structures, when provisioning information hasn't been captured or for a variety of more-unique applications of the API.
Click here to go to API Previewer page.
POST Parameters
| Parameter | Required | Value | Description |
|---|---|---|---|
api_key | {key} | An API key that has access to the resource you want to query for | |
group_id | {integer} | A Group ID where you want information for all workflows that are part of this group | |
workflow_id | {integer} | A Workflow ID which you want information for such as getting its name and parent group | |
workflow_name | {unicode} | Get all workflows which match this name which the API key has access to. While it is impossible to have the same workflow name within the same group, it is possible to have the same workflow name in child groups | |
recursive | {string} | Determines whether to retrieve workflows recursively. Select 1 to include workflows from the current group and all its subgroups (default). Select 0 to include only workflows from the current group. |
Important Requirements:
- One of group_id, workflow_id, or workflow_name must be provided (⚠️ indicates at least one is required)
- The others should be left blank when using one of these parameters
Response Information
| Element | Description |
|---|---|
<status> | A status code in response to the operation. |
<message> | Additional information about the operation – human readable. |
<workflow> | This element contains all of the further sub-elements with information about the workflow. This element can repeat if multiple workflows exist. |
<workflow_id> | The unique ID of the workflow. |
<workflow_name> | The name of the workflow. |
<workflow_email> | The input email address that accepts documents for the workflow. |
<is_template> | Whether the workflow is a template (i.e. can be used in a provisioning profile or to create other workflows from). |
<group_id> | The group ID which the workflow is a child of. |
<workflow_file_transfer> | Container element for FTP/SFTP/FTPS connection information. |
<ftp_username> | The username to connect to the file transfer server with (works with FTP/FTPS/SFTP). |
<ftp_password> | The password to connect to the file transfer server with (works with FTP/FTPS/SFTP). |
<ftp_server> | The FQDN of the file transfer server (works with FTP/FTPS/SFTP). |
<source_workflow_id> | The ID of the original workflow if this workflow was copied from another. |
<workflow_fields> | This element contains all of the further sub-elements with information about the workflow fields. Can repeat if multiple workflows exist. |
<field> | This element contains information about an individual field (or a field that is part of a field set). |
<field_id> | The ID of the field. |
<field_name> | The name of the field. |
<field_type> | The type of the field (e.g. text, number, date, etc.). |
<mobile> | Defines visibility on mobile interfaces (e.g. Hidden or Visible). |
<field_values> | A list of predefined values for the field, if applicable. |
<field_values_database_details> | Additional database connection details for dynamic field values (if applicable). |
<field_validations> | Contains validation rules (e.g., required, regex, range) applied to the field. |
<validation> | A single validation rule applied to a field. |
<name> | The name/type of the validation (e.g., Required, Regex). |
<description> | A human-readable description of the validation rule. |
<error_message> | The error message to display if validation fails. |
<strength> | Indicates if the validation is soft or hard. |
<type> | The validation method type (e.g., regex). |
<value> | The expected value pattern (e.g., regex string). |
<field_params> | Additional parameters used by the field (e.g., config, masks). |
<auto_formatter> | Contains auto-formatting rules for the field (e.g., for date formats). |
<type> (inside <auto_formatter>) | The formatter type (e.g., Dates). |
<format> | The format string (e.g., YYYY-MM-DD). |
<field_set> | Contains metadata and the fields belonging to a group (like delivery info). |
<field_set_id> | The ID of the field set. |
<field_set_name> | The name of the field set. |
<is_repeating> | Indicates whether the field set supports multiple rows (e.g., line items). |
<row> | A container for a group of fields or field values (used in field sets and options). |
<assigned_users> | A list of users assigned to the workflow. |
Example where group_id, workflow_name POSTed (or left blank) OR where workflow_id not POSTed
Sample Request
POST https://api-app.xtracta.com/v1/workflow HTTP/1.1 api_key=123&group_id=456789
Sample Response
<?xml version="1.0" encoding="UTF-8"?>
<workflow_response>
<status>200</status>
<message>The request has been successfully processed</message>
<workflow>
<workflow_id>1001</workflow_id>
<workflow_name>Sample Invoice Workflow</workflow_name>
<workflow_email>workflow123@example.com</workflow_email>
<is_template>No</is_template>
<group_id>999</group_id>
<workflow_file_transfer>
<ftp_username>sampleuser</ftp_username>
<ftp_password>dummyPassword123</ftp_password>
<ftp_server>ftp.example.com</ftp_server>
</workflow_file_transfer>
<source_workflow_id>101</source_workflow_id>
<workflow_fields>
<field_set>
<field_set_id>2001</field_set_id>
<field_set_name>Shipping Details</field_set_name>
<is_repeating>No</is_repeating>
<row>
<field>
<field_id>3001</field_id>
<field_name>Recipient</field_name>
<field_type>text</field_type>
<mobile>Hidden</mobile>
<field_values>
<row>
<label/>
<value/>
<selected/>
</row>
</field_values>
<field_values_database_details/>
<field_validations>
<validation>
<name>Required</name>
<description/>
<error_message>This field is required</error_message>
<strength>hard</strength>
<type>regex</type>
<value>^.{1,}$</value>
</validation>
</field_validations>
<field_params/>
</field>
<field>
<field_id>3002</field_id>
<field_name>Shipping Address</field_name>
<field_type>text</field_type>
<mobile>Hidden</mobile>
<field_values>
<row>
<label/>
<value/>
<selected/>
</row>
</field_values>
<field_values_database_details/>
<field_validations/>
<field_params/>
</field>
<field>
<field_id>3003</field_id>
<field_name>Delivery Date</field_name>
<field_type>text</field_type>
<mobile>Hidden</mobile>
<field_values>
<row>
<label/>
<value/>
<selected/>
</row>
</field_values>
<field_values_database_details/>
<field_validations/>
<field_params/>
<auto_formatter>
<type>Dates</type>
<format>YYYY-MM-DD</format>
</auto_formatter>
</field>
</row>
</field_set>
<field>
<field_id>3004</field_id>
<field_name>Invoice Date</field_name>
<field_type>text</field_type>
<mobile>Hidden</mobile>
<field_values>
<row>
<label/>
<value>2025-01-01</value>
<selected/>
</row>
</field_values>
<field_values_database_details/>
<field_validations/>
<field_params/>
</field>
</workflow_fields>
<assigned_users/>
</workflow>
</workflow_response>
Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:simpleType name="ConfidenceType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType name="FieldType">
<xs:sequence>
<xs:element name="field_id" type="xs:positiveInteger"/>
<xs:element name="field_name" type="xs:string"/>
<xs:element name="field_type" type="xs:string"/>
<xs:element name="mobile" type="xs:string"/>
<xs:element name="field_values" type="FieldvaluesType" nillable="true"/>
<xs:element name="field_values_database_details" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="field_validations" type="FieldvalidationsType" minOccurs="0" nillable="true"/>
<xs:element name="field_params" type="FieldparamsType" minOccurs="0" nillable="true"/>
<xs:element name="auto_formatter" type="AutoformatterType" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldsetType">
<xs:sequence>
<xs:element name="field_set_id" type="xs:nonNegativeInteger"/>
<xs:element name="field_set_name" type="xs:string"/>
<xs:element name="is_repeating" type="xs:string"/>
<xs:element name="row" type="RowType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RowType">
<xs:sequence>
<xs:element name="label" type="xs:string" minOccurs="0"/>
<xs:element name="value" type="xs:string" minOccurs="0"/>
<xs:element name="selected" type="xs:string" minOccurs="0"/>
<xs:element name="field" type="FieldType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkflowType">
<xs:sequence>
<xs:element name="workflow_id" type="xs:positiveInteger" minOccurs="0"/>
<xs:element name="workflow_name" type="xs:string"/>
<xs:element name="workflow_email" type="xs:string"/>
<xs:element name="is_template" type="xs:string"/>
<xs:element name="group_id" type="xs:positiveInteger"/>
<xs:element name="workflow_file_transfer" type="WorkflowfiletransferType"/>
<xs:element name="source_workflow_id" type="xs:nonNegativeInteger"/>
<xs:element name="workflow_fields" type="WorkflowfieldsType"/>
<xs:element name="assigned_users" type="xs:string" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkflowfieldsType">
<xs:sequence>
<xs:element name="field" type="FieldType" maxOccurs="unbounded"/>
<xs:element name="field_set" type="FieldsetType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WorkflowfiletransferType">
<xs:sequence>
<xs:element name="ftp_username" type="xs:string"/>
<xs:element name="ftp_password" type="xs:string"/>
<xs:element name="ftp_server" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldvalidationsType">
<xs:sequence>
<xs:element name="validation" type="ValidationType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldparamsType">
<xs:sequence>
<xs:element name="do_not_trim" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="validate_on_mobile_upload" type="xs:nonNegativeInteger" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldvaluesType">
<xs:sequence>
<xs:element name="row" type="RowType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ValidationType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="description" type="xs:string" nillable="true"/>
<xs:element name="error_message" type="xs:string"/>
<xs:element name="strength" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AutoformatterType">
<xs:sequence>
<xs:element name="type" type="xs:string" minOccurs="0"/>
<xs:element name="format" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="workflow_response">
<xs:complexType>
<xs:sequence>
<xs:element name="status" type="xs:positiveInteger"/>
<xs:element name="message" type="xs:string"/>
<xs:element name="workflow" type="WorkflowType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>