# Workflow Applications: Overview

**URL:** <https://discuss.workflowgen.com/t/workflow-applications-overview/646>\
**Category:** Workflow Applications\
**Created:** [January 13, 2017, 5:00am UTC](https://discuss.workflowgen.com/t/workflow-applications-overview/646 "2017-01-13T05:00:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wfg-admin](https://yyz2.discourse-cdn.com/flex030/user_avatar/discuss.workflowgen.com/wfg-admin/32/714_2.png) [@wfg-admin](https://discuss.workflowgen.com/u/wfg-admin)\
**Post date:** [January 13, 2017, 5:00am UTC](https://discuss.workflowgen.com/t/workflow-applications-overview/646/1 "2017-01-13T05:00:00Z")

</div>

Workflow applications are used in processes to perform certain activities. You can also create your own custom workflow applications.

### Built-in applications

WorkflowGen provides some built-in workflow applications, such as:

- [XMLTODATABASE](https://discuss.workflowgen.com/search?q=xmltodatabase%20category%3A23): Export XML data to an SQL database

- [GETUSERSFROMDIR](https://discuss.workflowgen.com/t/workflow-application-getusersfromdir-usage/489/1): Query the WorkflowGen directory to retrieve users

- [RAISEEXCEPTION](https://discuss.workflowgen.com/t/workflow-application-raiseexception-exception-name-and-exception-message-parameters/478): Trigger an exception on a request action (e.g. cancellation)

- [UPDATEPROCESSDATA](https://discuss.workflowgen.com/t/workflow-application-updateprocessdata-usage/475): Update a request data

- [GETPROCESSDATA](https://discuss.workflowgen.com/t/workflow-application-getprocessdata-usage/480): Retrieve a request data

- [GETFORMDATA](https://discuss.workflowgen.com/t/workflow-application-getformdata-usage/481): Retrieve the form field values of a specific request.

- [COMPLETEACTION](https://discuss.workflowgen.com/t/workflow-application-completeaction-usage/476): Complete a request action

- [MERGEFORM](https://discuss.workflowgen.com/t/workflow-application-mergeform-usage/487): Merge multiple form data

- [CANCELREQUEST](https://discuss.workflowgen.com/t/workflow-application-cancelrequest-usage/479): Cancel an ongoing request

- [COPYDATA](https://discuss.workflowgen.com/t/workflow-application-mergeform-usage/487): Copy data from a parameter to a different data

- [SENDMESSAGE](https://discuss.workflowgen.com/t/workflow-application-sendmessage-usage/490/1): Send SMS notifications from within a form

- [SENDHTTPPOST](https://discuss.workflowgen.com/t/workflow-application-sendhttppost-usage/1508): Create outgoing webhooks to external systems

- [RESTAPICLIENT](https://discuss.workflowgen.com/t/workflow-application-restapiclient-usage/1509): Call REST API endpoints to exchange information with other applications through HTTP requests

- [EXECSQL](https://discuss.workflowgen.com/t/workflow-application-execsql-usage/): Execute one or multiple SQL queries in a process

- [JSONTODATA](https://discuss.workflowgen.com/t/workflow-application-jsontodata-usage/2273): Parse JSON content into process data

- [DOCUSIGNSEND & DOCUSIGNCHECK](https://discuss.workflowgen.com/t/workflow-applications-docusignsend-docusigncheck-usage/1933): Send one or more documents to DocuSign for electronic signature, and check the status of an envelope and download its associated file

- [ADOBESIGNSEND & ADOBESIGNCHECK](https://discuss.workflowgen.com/t/workflow-applications-adobesignsend-adobesigncheck-usage/1934): Send one or multiple documents to Adobe Sign for electronic signature, and verify the status of an agreement and download its associated file

- [DOCAPOSTESEND & DOCAPOSTECHECK](https://discuss.workflowgen.com/t/workflow-applications-docapostesend-docapostecheck-usage/1935): Send one or more documents to Docaposte for electronic signature, and check the status of a transaction and download the associated files

- [YOUSIGNSEND & YOUSIGNCHECK](https://discuss.workflowgen.com/t/workflow-applications-yousignsend-yousigncheck-usage/2215): Send one or more documents to Yousign for electronic signature, and verify the status of an agreement and download its associated file

- [OPENAITRANSCRIPTION](https://discuss.workflowgen.com/t/workflow-application-openaitranscription-usage/2225): Interact with an OpenAI audio model to transcribe an audio file

- [OPENAICHAT](https://discuss.workflowgen.com/t/workflow-application-openaichat-usage/): Interact with an OpenAI chat model

- [OPENAIADDMESSAGE](https://discuss.workflowgen.com/t/workflow-application-openaiaddmessage-usage/2260): Update the message history of a conversation to add user or tool interactions, including directly from a sub-process

- [COUNTER](https://discuss.workflowgen.com/t/workflow-application-counter-usage/2261): Manipulate a counter in a loop

- [GETAGENTTOOLDATA](https://discuss.workflowgen.com/t/workflow-application-getagenttooldata-usage/2262): Extract information from a tool that can be provided by an application such as [OPENAICHAT](https://discuss.workflowgen.com/t/workflow-application-openaichat-usage/2226)

- [GETAGENTTOOL](https://discuss.workflowgen.com/t/workflow-application-getagenttool-usage/2263): Extract a tool and its information from a list of tools that can be provided by an application such as [OPENAICHAT](https://discuss.workflowgen.com/t/workflow-application-openaichat-usage/2226)

### .NET Assembly

The assembly workflow application type lets you declare a .NET class method as a workflow application. This is the fastest way to develop custom workflow applications (compared to web services). (See the [Workflow applications](https://advantys.gitbooks.io/workflowgen-integration-guide/content/workflow-applications.html) section in the [WorkflowGen Integration Guide](https://advantys.gitbooks.io/workflowgen-integration-guide/content/) for detailed instructions on .NET workflow application development.)

Execution performance is also better because WorkflowGen directly instantiates the assembly without network communication and without Web Service authentication.

You can create a method with standard parameters or by using a single workflow context parameter (`WFGEN_CONTEXT`) for more flexibility.

[Workflow Application: Assembly: Use a .NET Class method as a Workflow Application](https://discuss.workflowgen.com/t/workflow-application-assembly-use-a-net-class-method-as-a-workflow-application/468)

[Workflow Application: Assembly: Use an assembly method with a workflow context parameter for more flexibility](https://discuss.workflowgen.com/t/workflow-application-assembly-use-an-assembly-method-with-a-workflow-context-parameter-for-more-flexibility/483)

### Web Services

You can create Web Service workflow applications. WorkflowGen supports SOAP Web Services and WCF services.

#### Example of a Web Service (ASMX) declaration

 ![](https://canada1.discourse-cdn.com/flex030/uploads/workflowgen/original/1X/4861a905c2076c0b1adf8a6fea6245e51edd22df.png)

#### Web Services parameters

 ![](https://canada1.discourse-cdn.com/flex030/uploads/workflowgen/original/1X/1f0d323cc0f37416cc7de276c3a9c5239558740c.png)

[Workflow Application: WCF Service compared to ASMX Web Service](https://discuss.workflowgen.com/t/workflow-application-wcf-service-compared-to-asmx-web-service/477)
