Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
842fe70
added workflows
Jun 13, 2022
ca37adb
Merge pull request #1 from SnehaSuresh-aot/main
shibin-aot Jun 14, 2022
53588c9
added forms examples
abilpraju-aot Jun 14, 2022
d564dab
removed workflows
Jun 14, 2022
776ea4e
docs added
Jun 14, 2022
ee0710b
fixes
Jun 14, 2022
bea8683
Merge pull request #4 from SnehaSuresh-aot/main
shibin-aot Jun 14, 2022
8ad2de0
Merge pull request #3 from AOT-Technologies/formio-examples
shibin-aot Jun 15, 2022
60a11f3
zipped changes
alanraju-aot Aug 16, 2022
301b6a0
Merge pull request #5 from AOT-Technologies/zip-file-chnages
alanraju-aot Aug 16, 2022
2c71d27
added webformUrl
Aug 30, 2022
ddace08
Merge pull request #6 from SnehaSuresh-aot/bpm_fix
SnehaSuresh-aot Aug 30, 2022
6f1d296
Custom component codebase added
Josephalexantony-aot Sep 1, 2022
3673955
Merge pull request #7 from AOT-Technologies/custom-components
Josephalexantony-aot Sep 1, 2022
d6254f9
Create README.md
Raveena-aot Dec 14, 2022
45fbe0a
Create README.md
Raveena-aot Dec 14, 2022
bef7fc9
Create README.md
Raveena-aot Dec 14, 2022
f596033
Create README.md
Raveena-aot Dec 14, 2022
7142094
Create README.md
Raveena-aot Dec 14, 2022
dd40314
Update README.md
Raveena-aot Dec 14, 2022
bd43bfb
Delete README.md
Raveena-aot Dec 14, 2022
26565d6
Create README.md
Raveena-aot Dec 14, 2022
8380d37
Update README.md
Raveena-aot Dec 14, 2022
373499c
Update README.md
Raveena-aot Dec 15, 2022
9415de7
Update README.md
Raveena-aot Dec 15, 2022
604d7f2
Update README.md
Raveena-aot Dec 15, 2022
15a340d
Update README.md
Raveena-aot Dec 15, 2022
179fd85
Update README.md
Raveena-aot Dec 15, 2022
a933aec
Merge pull request #11 from Raveena-aot/examples-info
abhilash-aot Dec 15, 2022
e66cccd
formsflow example for v7.x
vinod-aot Jul 11, 2025
9b0a402
Merge pull request #13 from AOT-Technologies/v7.x-example
vinod-aot Jul 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# forms-flow-ai-examples
forms-flow-ai platform examples
This repository contains a few examples of some of the features present in the forms-flow-ai platform.
## bpm-examples
Refer [bpm-examples](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/bpm-examples/camunda#bpm-examples) to know more.
## Custom Components
Custom components allow developers to define attributes that can be passed into each component.
Refer [Custom Components](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/custom-components#custom-components) to know more.
## Camunda/Robocorp examples
Some of the bpm-examples and rpa-examples are given [here](https://github.com/Raveena-aot/forms-flow-ai-examples/blob/examples-info/docs/README.md).
## Forms-examples
Refer [forms-examples](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/forms-examples#forms-examples) to know more.
12 changes: 12 additions & 0 deletions bpm-examples/camunda/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# bpm-examples
## Table of Content
1. [Notification_email](#notification_email)
2. [Approval-process.zip](#approval-process.zip)

## Notification_email
This folder contains the two workflows that are required for email integration; these are example-email-template.dmn (for v4.0 and v5.0) and notification_email.bpmn."

## Approval-process.zip
This zip file contains sample workflows. After installation, users can download the zip file from this page and deploy it on formsflow.ai.

![image2](https://user-images.githubusercontent.com/96716528/207521323-4e7377ad-50d9-439b-9456-e90c20a9cf99.png)
Binary file added bpm-examples/camunda/approval-process.zip
Binary file not shown.
82 changes: 82 additions & 0 deletions bpm-examples/camunda/notification_email/notification_email.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0e3v6wh" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.8.1">
<bpmn:process id="EmailNotification" name="Email Notification (Internal)" isExecutable="true" camunda:versionTag="1">
<bpmn:serviceTask id="ServiceTask_1o5gnzy" name="Send email">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
<camunda:inputParameter name="to">${email_to}</camunda:inputParameter>
<camunda:inputParameter name="subject">${email_subject}</camunda:inputParameter>
<camunda:inputParameter name="text">${email_body}</camunda:inputParameter>
</camunda:inputOutput>
<camunda:connectorId>mail-send</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1lqclyt</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0zor2ji</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_1hk7qik" sourceRef="StartEvent_1" targetRef="Activity_0hupz4n" />
<bpmn:endEvent id="EndEvent_0k4s884">
<bpmn:incoming>SequenceFlow_0zor2ji</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="SequenceFlow_0zor2ji" sourceRef="ServiceTask_1o5gnzy" targetRef="EndEvent_0k4s884" />
<bpmn:startEvent id="StartEvent_1" name="Notification Requested" camunda:initiator="Message_Email">
<bpmn:extensionElements>
<camunda:formData>
<camunda:formField id="category" label="category" type="string" />
</camunda:formData>
</bpmn:extensionElements>
<bpmn:outgoing>SequenceFlow_1hk7qik</bpmn:outgoing>
<bpmn:messageEventDefinition id="MessageEventDefinition_0o7ax3m" messageRef="Message_1ap8yc0" />
</bpmn:startEvent>
<bpmn:businessRuleTask id="Activity_0hupz4n" name="Email Template" camunda:resultVariable="template" camunda:decisionRef="email-template-example" camunda:mapDecisionResult="singleResult">
<bpmn:extensionElements>
<camunda:inputOutput>
<camunda:inputParameter name="category">${category}</camunda:inputParameter>
</camunda:inputOutput>
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_1hk7qik</bpmn:incoming>
<bpmn:outgoing>Flow_1lqclyt</bpmn:outgoing>
</bpmn:businessRuleTask>
<bpmn:sequenceFlow id="Flow_1lqclyt" name="email content transformation" sourceRef="Activity_0hupz4n" targetRef="ServiceTask_1o5gnzy">
<bpmn:extensionElements>
<camunda:executionListener class="org.camunda.bpm.extension.hooks.listeners.execution.EmailAttributesListener" event="take" />
</bpmn:extensionElements>
</bpmn:sequenceFlow>
</bpmn:process>
<bpmn:message id="Message_1ap8yc0" name="Message_Email" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="EmailNotification">
<bpmndi:BPMNEdge id="Flow_1lqclyt_di" bpmnElement="Flow_1lqclyt">
<di:waypoint x="400" y="127" />
<di:waypoint x="530" y="127" />
<bpmndi:BPMNLabel>
<dc:Bounds x="430" y="99" width="70" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0zor2ji_di" bpmnElement="SequenceFlow_0zor2ji">
<di:waypoint x="630" y="127" />
<di:waypoint x="722" y="127" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1hk7qik_di" bpmnElement="SequenceFlow_1hk7qik">
<di:waypoint x="215" y="117" />
<di:waypoint x="300" y="117" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_1o5gnzy_di" bpmnElement="ServiceTask_1o5gnzy">
<dc:Bounds x="530" y="87" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0k4s884_di" bpmnElement="EndEvent_0k4s884">
<dc:Bounds x="722" y="109" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_1qc25qm_di" bpmnElement="StartEvent_1">
<dc:Bounds x="179" y="99" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="170" y="142" width="55" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0hupz4n_di" bpmnElement="Activity_0hupz4n">
<dc:Bounds x="300" y="87" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:camunda="http://camunda.org/schema/1.0/dmn" id="Definitions_1h338s2" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="4.8.1">
<decision id="email-template-example" name="email-template-example" camunda:versionTag="1">
<decisionTable id="decisionTable_1">
<input id="input_1" label="category">
<inputExpression id="inputExpression_1" typeRef="string">
<text>category</text>
</inputExpression>
</input>
<output id="OutputClause_1aekr4b" label="to" name="to" typeRef="string" />
<output id="OutputClause_03zviem" label="cc" name="cc" typeRef="string" />
<output id="OutputClause_0f8t1qe" label="subject" name="subject" typeRef="string" />
<output id="OutputClause_1o2aisg" label="body" name="body" typeRef="string" />
<rule id="DecisionRule_0ycnss6">
<inputEntry id="UnaryTests_1g3piq1">
<text>"assignment_notification"</text>
</inputEntry>
<outputEntry id="LiteralExpression_1w28m1k">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_08f869r">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_1czkz3j">
<text>"Task Assignment"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1qfdlgl" expressionLanguage="juel">
<text>"Hello @name,

You have a new task for the process. Please click the following link to access your new task.

@formUrl


Best Regards"</text>
</outputEntry>
</rule>
<rule id="DecisionRule_1ntdgwj">
<inputEntry id="UnaryTests_05ov6ol">
<text>"activity_reminder"</text>
</inputEntry>
<outputEntry id="LiteralExpression_0lljnoh">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_18fvdhg">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_1fjwonv">
<text>"Task Reminder"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1s9943x">
<text>"Dear @name,

This is a reminder that your outstanding task is due in one day.

Application Number : @applicationId


Please click the following link to access your new task.

To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid


Regards,
"</text>
</outputEntry>
</rule>
<rule id="DecisionRule_0tnom8n">
<inputEntry id="UnaryTests_03h5bd8">
<text>"activity_escalation"</text>
</inputEntry>
<outputEntry id="LiteralExpression_0tzhose">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_023tlbr">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_0grdcc8">
<text>"Task Escalation"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1bf9ywb">
<text>"Dear @name,

You have exceeded the deadline for the task.

Application Number : @applicationId


Please click the following link to access your new task.

To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid

Regards,
"</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
<dmndi:DMNDI>
<dmndi:DMNDiagram id="DMNDiagram_1o977l7">
<dmndi:DMNShape id="DMNShape_0v83ejq" dmnElementRef="email-template-example">
<dc:Bounds height="80" width="180" x="150" y="80" />
</dmndi:DMNShape>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:camunda="http://camunda.org/schema/1.0/dmn" id="Definitions_1h338s2" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="4.6.0">
<decision id="email-template-example" name="email-template-example" camunda:versionTag="1">
<decisionTable id="decisionTable_1">
<input id="input_1" label="category">
<inputExpression id="inputExpression_1" typeRef="string">
<text>category</text>
</inputExpression>
</input>
<output id="OutputClause_1aekr4b" label="to" name="to" typeRef="string" />
<output id="OutputClause_03zviem" label="cc" name="cc" typeRef="string" />
<output id="OutputClause_0f8t1qe" label="subject" name="subject" typeRef="string" />
<output id="OutputClause_1o2aisg" label="body" name="body" typeRef="string" />
<rule id="DecisionRule_0ycnss6">
<inputEntry id="UnaryTests_1g3piq1">
<text>"assignment_notification"</text>
</inputEntry>
<outputEntry id="LiteralExpression_1w28m1k">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_08f869r">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_1czkz3j">
<text>"Task Assignment"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1qfdlgl" expressionLanguage="juel">
<text>"Hello @name,

You have a new task for the process. Please click the following link to access your new task.

@webFormUrl


Best Regards"</text>
</outputEntry>
</rule>
<rule id="DecisionRule_1ntdgwj">
<inputEntry id="UnaryTests_05ov6ol">
<text>"activity_reminder"</text>
</inputEntry>
<outputEntry id="LiteralExpression_0lljnoh">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_18fvdhg">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_1fjwonv">
<text>"Task Reminder"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1s9943x">
<text>"Dear @name,

This is a reminder that your outstanding task is due in one day.

Application Number : @applicationId


Please click the following link to access your new task.

To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid


Regards,
"</text>
</outputEntry>
</rule>
<rule id="DecisionRule_0tnom8n">
<inputEntry id="UnaryTests_03h5bd8">
<text>"activity_escalation"</text>
</inputEntry>
<outputEntry id="LiteralExpression_0tzhose">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_023tlbr">
<text></text>
</outputEntry>
<outputEntry id="LiteralExpression_0grdcc8">
<text>"Task Escalation"</text>
</outputEntry>
<outputEntry id="LiteralExpression_1bf9ywb">
<text>"Dear @name,

You have exceeded the deadline for the task.

Application Number : @applicationId


Please click the following link to access your new task.

To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid

Regards,
"</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
<dmndi:DMNDI>
<dmndi:DMNDiagram id="DMNDiagram_1o977l7">
<dmndi:DMNShape id="DMNShape_0v83ejq" dmnElementRef="email-template-example">
<dc:Bounds height="80" width="180" x="150" y="80" />
</dmndi:DMNShape>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>
7 changes: 7 additions & 0 deletions custom-components/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Custom Components
One of the more powerful features of the forms-flow.ai platform is the ability to develop your custom form components. The procedure of creating a custom component involves extending a base class of the component that is closest to the implementation you desire, and then override the methods or add new methods that will implement your custom logic. All of the existing components within the platform also use this same method, so you can see many examples by inspecting how the base components for the Forms-flow renderer are implemented.


![image3](https://user-images.githubusercontent.com/96716528/207521612-a6595f96-1a79-4566-965f-c88f9cfb07f4.png)

This repository contains some code base for implementing custom components, thus we may add additional components using the custom component feature.
Loading