forked from open-rpa/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
openrpa.html
4073 lines (3927 loc) · 369 KB
/
openrpa.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3. OpenRPA — BPA/OpenIAP Docs 1.0.2 documentation</title>
<script type="text/javascript" src="static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./"
src="static/documentation_options.js"></script>
<script src="static/jquery.js"></script>
<script src="static/underscore.js"></script>
<script src="static/doctools.js"></script>
<script src="static/language_data.js"></script>
<script type="text/javascript" src="static/js/theme.js"></script>
<link rel="stylesheet" href="static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="static/pygments.css" type="text/css" />
<link rel="stylesheet" href="static/styles.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="4. Node-RED" href="node_red.html" />
<link rel="prev" title="2. OpenFlow" href="openflow.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> BPA/OpenIAP Docs
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="rpa.html">1. <strong>Introduction to
RPA</strong></a></li>
<li class="toctree-l1"><a class="reference internal" href="openflow.html">2. <strong>OpenFlow</strong></a>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3.
<strong>OpenRPA</strong></a>
<ul>
<li class="toctree-l2"><a class="reference internal" href="#what-is-openrpa">3.1. <strong>What is
OpenRPA?</strong></a></li>
<li class="toctree-l2"><a class="reference internal" href="#installing-first-run">3.2.
<strong>Installing, First Run</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal"
href="#installing-openrpa-through-windows-msi">3.2.1. Installing OpenRPA through Windows
.msi</a>
<ul>
<li class="toctree-l4"><a class="reference internal"
href="#installing-universally-or-user-only">3.2.1.1. Installing Universally or User-Only</a>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#installing-openrpa-plugins">3.2.2.
Installing OpenRPA Plugins</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#configuring-openrpa">3.3.
<strong>Configuring OpenRPA</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#parameters">3.3.1. Parameters</a>
<ul>
<li class="toctree-l4"><a class="reference internal"
href="#wsurl-openrpa-online-offline-local">3.3.1.1. wsurl (OpenRPA
online/offline[local])</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#username-jwt-password-entropy">3.3.1.2. username / jwt / password / entropy</a></li>
<li class="toctree-l4"><a class="reference internal" href="#cancelkey">3.3.1.3. cancelkey</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#isagent">3.3.1.4. isagent</a></li>
<li class="toctree-l4"><a class="reference internal" href="#showloadingscreen">3.3.1.5.
showloadingscreen</a></li>
<li class="toctree-l4"><a class="reference internal" href="#culture">3.3.1.6. culture</a></li>
<li class="toctree-l4"><a class="reference internal" href="#ocrlanguage">3.3.1.7.
ocrlanguage</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openworkflows">3.3.1.8.
openworkflows</a></li>
<li class="toctree-l4"><a class="reference internal" href="#mainwindow-position">3.3.1.9.
mainwindow_position</a></li>
<li class="toctree-l4"><a class="reference internal" href="#designerlayout">3.3.1.10.
designerlayout</a></li>
<li class="toctree-l4"><a class="reference internal" href="#properties">3.3.1.11. properties</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#record-overlay">3.3.1.12.
record_overlay</a></li>
<li class="toctree-l4"><a class="reference internal" href="#querypagesize">3.3.1.13.
querypagesize</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#lastupdatecheck-updatecheckinterval-doupdatecheck">3.3.1.14. lastupdatecheck /
updatecheckinterval / doupdatecheck</a></li>
<li class="toctree-l4"><a class="reference internal" href="#autoupdateupdater">3.3.1.15.
autoupdateupdater</a></li>
<li class="toctree-l4"><a class="reference internal" href="#log-12-parameters">3.3.1.16. log (12
parameters)</a></li>
<li class="toctree-l4"><a class="reference internal" href="#use-sendkeys">3.3.1.17.
use_sendkeys</a></li>
<li class="toctree-l4"><a class="reference internal" href="#use-virtual-click">3.3.1.18.
use_virtual_click</a></li>
<li class="toctree-l4"><a class="reference internal" href="#use-animate-mouse">3.3.1.19.
use_animate_mouse</a></li>
<li class="toctree-l4"><a class="reference internal" href="#use-postwait">3.3.1.20.
use_postwait</a></li>
<li class="toctree-l4"><a class="reference internal" href="#minimize">3.3.1.21. minimize</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#recording-add-to-designer">3.3.1.22.
recording_add_to_designer</a></li>
<li class="toctree-l4"><a class="reference internal" href="#reloadinterval">3.3.1.23.
reloadinterval</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#move-animation-run-time-move-animation-steps">3.3.1.24. move_animation_run_time /
move_animation_steps</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#remote-allow-multiple-running-remote-allow-multiple-running-max">3.3.1.25.
remote_allow_multiple_running / remote_allow_multiple_running_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="#cef-useragent">3.3.1.26.
cef_useragent</a></li>
<li class="toctree-l4"><a class="reference internal" href="#show-getting-started">3.3.1.27.
show_getting_started</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#notify-on-workflow-remote-start-notify-on-workflow-end-notify-on-workflow-remote-end">3.3.1.28.
notify_on_workflow_remote_start / notify_on_workflow_end / notify_on_workflow_remote_end</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#log-busy-warning">3.3.1.29.
log_busy_warning</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal"
href="#creating-a-new-project-running-a-workflow">3.4. <strong>Creating a new project, Running a
workflow</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#create-new-project">3.4.1. Create New
Project</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#granting-permissions-to-users-roles">3.4.2. Granting permissions to users/roles</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#read">3.4.2.1. Read</a></li>
<li class="toctree-l4"><a class="reference internal" href="#update">3.4.2.2. Update</a></li>
<li class="toctree-l4"><a class="reference internal" href="#delete">3.4.2.3. Delete</a></li>
<li class="toctree-l4"><a class="reference internal" href="#invoke">3.4.2.4. Invoke</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#new-workflow">3.4.3. New Workflow</a>
</li>
<li class="toctree-l3"><a class="reference internal" href="#using-the-designer">3.4.4. Using the
Designer</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#dragging-an-activity">3.4.4.1.
Dragging an Activity</a></li>
<li class="toctree-l4"><a class="reference internal" href="#organizing-the-workflow">3.4.4.2.
Organizing the Workflow</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#creating-and-deleting-variables-arguments">3.4.4.3. Creating and Deleting Variables
& Arguments</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output-debug">3.4.4.4. Output &
Debug</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#running-the-workflow">3.4.5. Running the
Workflow</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#interface">3.5.
<strong>Interface</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#activities-toolbox">3.5.1.
Activities/Toolbox</a></li>
<li class="toctree-l3"><a class="reference internal" href="#designer">3.5.2. Designer</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#toolbox-snippets-sidebar">3.5.2.1.
Toolbox & Snippets sidebar</a></li>
<li class="toctree-l4"><a class="reference internal" href="#workspace">3.5.2.2. Workspace</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#properties-box">3.5.2.3. Properties
Box</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output-bar">3.5.2.4. Output bar</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#connection-bar">3.5.2.5. Connection
bar</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#variables-arguments">3.5.3. Variables,
Arguments</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#variables">3.5.3.1.
<strong>Variables</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#scope">3.5.3.2.
<strong>Scope</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#arguments">3.5.3.3.
<strong>Arguments</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#imports">3.5.3.4.
<strong>Imports</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#toolbox-detailed">3.5.4. Toolbox
Detailed</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#id1">3.5.4.1. OpenRPA</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-avirecorder">3.5.4.2.
OpenRPA.AviRecorder</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-database">3.5.4.3.
OpenRPA.Database</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-forms">3.5.4.4.
OpenRPA.Forms</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-ie">3.5.4.5. OpenRPA.IE</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-image">3.5.4.6.
OpenRPA.Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="#openrpa-windows">3.5.4.7.
OpenRPA.Windows</a></li>
<li class="toctree-l4"><a class="reference internal" href="#system-activities">3.5.4.8.
System.Activities</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#recorder">3.6. <strong>Recorder</strong></a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#selector">3.7. <strong>Selector</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#returning-multiple-elements">3.7.1.
Returning multiple elements</a></li>
<li class="toctree-l3"><a class="reference internal" href="#custom-css">3.7.2. Custom CSS</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#detectors">3.8.
<strong>Detectors</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#filewatcher">3.8.1. FileWatcher</a></li>
<li class="toctree-l3"><a class="reference internal" href="#keyboarddetector">3.8.2.
KeyboardDetector</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#running-workflows-from-command-line">3.9.
<strong>Running Workflows from Command Line</strong></a></li>
<li class="toctree-l2"><a class="reference internal" href="#plugins">3.10. <strong>Plugins</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#chrome-firefox">3.10.1. Chrome,
Firefox</a></li>
<li class="toctree-l3"><a class="reference internal" href="#avi-recorder">3.10.2. AVI Recorder</a>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#workflow-examples">3.11. <strong>Workflow
Examples</strong></a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#web-automation">3.11.1. Web
Automation</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#download-the-excel-file">3.11.1.1.
<strong>Download the Excel file</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#read-the-excel-file">3.11.1.2.
<strong>Read the Excel file</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#map-the-start-button">3.11.1.3.
<strong>Map the Start button</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#loop-the-dataset-rows">3.11.1.4.
<strong>Loop the DataSet rows</strong></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#find-the-respective-handle-for-each-webelement-input-field">3.11.1.5. <strong>Find
the respective handle for each WebElement input field</strong></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#fill-all-the-required-fields-inside-the-webpage">3.11.1.6. <strong>Fill all the
required fields inside the webpage.</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#map-submit-button">3.11.1.7.
<strong>Map Submit button</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#workflow-finished">3.11.1.8.
<strong>Workflow Finished</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#windows-automation">3.11.2. Windows
Automation</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#detector">3.11.2.1. Detector</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#form">3.11.2.2. Form</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#windows-automation-skype-app-using-selectors">3.11.2.3. Windows Automation (Skype
app) / Using Selectors</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id13">3.11.2.4. Workflow
Finished</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#image-search-ocr">3.11.3. Image Search /
OCR</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#load-image-from-file">3.11.3.1. Load
Image from File</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-text">3.11.3.2. Get Text</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#evaluation">3.11.3.3. Evaluation</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#show-notification">3.11.3.4.
<strong>Show Notification</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#id14">3.11.3.5. Workflow
Finished</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#excel-read">3.11.4. Excel Read</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#create-an-empty-datatable">3.11.4.1.
<strong>Create an Empty DataTable.</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="#for-each-invoice">3.11.4.2.
<strong>For each Invoice</strong></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#add-this-iteration-s-invoice-to-datatable">3.11.4.3. <strong>Add this iteration’s
invoice to DataTable</strong></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#write-excel-from-datatable">3.11.4.4. <strong>Write Excel from DataTable</strong></a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#id15">3.11.4.5. <strong>Workflow
Finished</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#mongodb-entities-manipulation">3.11.5.
MongoDB Entities Manipulation</a></li>
<li class="toctree-l3"><a class="reference internal" href="#file-manipulation">3.11.6. File
Manipulation</a>
<ul>
<li class="toctree-l4"><a class="reference internal" href="#remove">3.11.6.1. Remove</a></li>
<li class="toctree-l4"><a class="reference internal" href="#save">3.11.6.2. Save</a></li>
<li class="toctree-l4"><a class="reference internal" href="#move">3.11.6.3. Move</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id16">3.11.6.4. Delete</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#soap-service">3.11.7. SOAP Service</a>
</li>
<li class="toctree-l3"><a class="reference internal"
href="#rest-service-integration-with-node-red">3.11.8. REST Service (integration with
Node-RED)</a>
<ul>
<li class="toctree-l4"><a class="reference internal"
href="#configure-variable-passing-to-from-in-node-red">3.11.8.1. Configure Variable Passing
To/From in Node-RED</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#message-manipulation-in-node-red">3.11.8.2. Message Manipulation in Node-RED</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id17">3.11.8.3. OpenRPA Forms</a>
</li>
<li class="toctree-l4"><a class="reference internal"
href="#invoke-workflow-through-openrpa">3.11.8.4. Invoke Workflow through OpenRPA</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#create-joke-failed-workflow">3.11.8.5. Create Joke Failed Workflow</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#evaluate-chuck-norris-joke">3.11.8.6. Evaluate Chuck Norris Joke</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#setting-evaluation-failed-process-in-node-red">3.11.8.7. Setting Evaluation Failed
process in Node-RED</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#invoke-joke-failed-workflow">3.11.8.8. Invoke Joke Failed Workflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="#output-logic">3.11.8.9. Output
logic</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id19">3.11.8.10. Workflow
Finished</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#reading-and-parsing-pdf-files">3.11.9.
Reading and Parsing PDF Files</a></li>
<li class="toctree-l3"><a class="reference internal" href="#using-datatables">3.11.10. Using
DataTables</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="node_red.html">4. <strong>Node-RED</strong></a>
</li>
<li class="toctree-l1"><a class="reference internal" href="appendix_a.html">5. <strong>Appendix
A</strong></a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="license.html">1. License</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">BPA/OpenIAP Docs</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li><span class="section-number">3. </span><strong>OpenRPA</strong></li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr />
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="openrpa">
<h1><span class="section-number">3. </span><strong>OpenRPA</strong><a class="headerlink" href="#openrpa"
title="Permalink to this headline">¶</a></h1>
<div class="section" id="what-is-openrpa">
<h2><span class="section-number">3.1. </span><strong>What is OpenRPA?</strong><a class="headerlink"
href="#what-is-openrpa" title="Permalink to this headline">¶</a></h2>
<p><strong>OpenRPA</strong> is where the actual automation happens, inside it you create workflows and
invoke them, run all the activities needed to complete your task and deploy them with the assistance
of <strong>OpenFlow</strong> and <strong>Node-RED</strong>. The framework also offers integration
with other tools that are essential such as a message broker and repository management tools.
<strong>OpenRPA</strong> also includes other features within itself, such as Image detection/OCR,
Browser Navigation, and many others.</p>
</div>
<div class="section" id="installing-first-run">
<h2><span class="section-number">3.2. </span><strong>Installing, First Run</strong><a
class="headerlink" href="#installing-first-run" title="Permalink to this headline">¶</a></h2>
<p>In this section, the user is provided with a thorough explanation of how to install OpenRPA.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Although not recommended unless you are creating a developer setup, you may also always run
OpenRPA directly from the source code by using Visual Studio 2019.</p>
</div>
<div class="section" id="installing-openrpa-through-windows-msi">
<h3><span class="section-number">3.2.1. </span>Installing OpenRPA through Windows .msi<a
class="headerlink" href="#installing-openrpa-through-windows-msi"
title="Permalink to this headline">¶</a></h3>
<p>To install OpenRPA, you first need to download the installer executable provided <a
class="reference external"
href="https://github.com/open-rpa/openrpa/releases/latest/download/OpenRPA.msi">here</a> (<code
class="docutils literal notranslate"><span class="pre">https://github.com/open-rpa/openrpa/releases/latest/download/OpenRPA.msi</span></code>).
</p>
<div class="section" id="installing-universally-or-user-only">
<h4><span class="section-number">3.2.1.1. </span>Installing Universally or User-Only<a
class="headerlink" href="#installing-universally-or-user-only"
title="Permalink to this headline">¶</a></h4>
<div class="figure align-center" id="id20">
<img alt="images/openrpa_installation_installation_scope.png"
src="images/openrpa_installation_installation_scope.png" />
<p class="caption"><span class="caption-text"><strong>OpenRPA’s installation
scope.</strong></span><a class="headerlink" href="#id20"
title="Permalink to this image">¶</a></p>
</div>
<p>The installer first prompts the user whether <strong>OpenRPA</strong> should be installed only
for the specific single user or universally (all users). <strong>It is recommended to install it
universally (requires administrator previleges)</strong>, as it have no downsides, so unless
something (or someone) prohibits you from installing it for all users, always do it so.
Installing <strong>OpenRPA</strong> single-user prevents other regular users from the machine
from using <strong>OpenRPA</strong>, however, both <strong>OpenFlow</strong> and
<strong>NodeRED</strong> accesses are not limited nor related to this, as they are accessed by
simply using a browser.
After selecting the desired option, click Next.</p>
</div>
</div>
<div class="section" id="installing-openrpa-plugins">
<h3><span class="section-number">3.2.2. </span>Installing OpenRPA Plugins<a class="headerlink"
href="#installing-openrpa-plugins" title="Permalink to this headline">¶</a></h3>
<p>During OpenRPA installation, you may specify which plugins should be installed.</p>
<p>For production, it is extremely recommended to install only the plugins that will be used. The
reasoning is: some plugins such as <strong>NM</strong>, <strong>SAP</strong> and
<strong>Java</strong> (as well as others) use machine resources in order to run and just by having
them installed and enable, they might significantly impact CPU usage, specially when running
OpenRPA on low-spec machines (such as cloud-hosted ones, as they are commonly low-spec in order to
save costs). Be aware that CPU usage is further amplified when using HD Robots service, as for
each instance of HD Robot user each plugin will takes its toll.</p>
<p>For development (and experimentation), it is obviously encouraged to run as many plugins as you
can afford and are willing to try, our solution has already a wide range of plugins and users can
themselves develop plugins as well.</p>
<div class="figure align-center" id="id21">
<img alt="images/openrpa_installation_installation_libraries.png"
src="images/openrpa_installation_installation_libraries.png" />
<p class="caption"><span class="caption-text"><strong>OpenRPA’s installation
libraries.</strong></span><a class="headerlink" href="#id21"
title="Permalink to this image">¶</a></p>
</div>
<p>After selecting the plugins you desire to install, click <code
class="docutils literal notranslate"><span class="pre">Next</span></code> once again and <code
class="docutils literal notranslate"><span class="pre">Install</span></code> so the installation
can be concluded.</p>
<p>If everything goes well the installation finishes and the window on <strong>Fig. 3</strong>
appears.</p>
<div class="figure align-center" id="id22">
<img alt="images/openrpa_installation_finished.png"
src="images/openrpa_installation_finished.png" />
<p class="caption"><span class="caption-text"><strong>OpenRPA finished
installation.</strong></span><a class="headerlink" href="#id22"
title="Permalink to this image">¶</a></p>
</div>
</div>
</div>
<div class="section" id="configuring-openrpa">
<h2><span class="section-number">3.3. </span><strong>Configuring OpenRPA</strong><a class="headerlink"
href="#configuring-openrpa" title="Permalink to this headline">¶</a></h2>
<p><strong>OpenRPA</strong> settings are saved locally in the file named <code
class="docutils literal notranslate"><span class="pre">settings.json</span></code> and it is
<strong>always**¹ located in your ``DocumentsOpenRPA`` folder (or full path
``C:Users{YOUR_USER}DocumentsOpenRPA``). This file contains all configuration parameters for
**OpenRPA</strong>, including some which are not available to be configurable through the GUI.</p>
<p><strong>OpenRPA</strong> GUI layout settings, however, are saved in another file: <code
class="docutils literal notranslate"><span class="pre">layout.config</span></code>. Deleting <code
class="docutils literal notranslate"><span class="pre">layout.config</span></code> bears no
trouble, you will only lose your layout preferences (panel sizes, order, location, etc).</p>
<p>Editing either file (<code
class="docutils literal notranslate"><span class="pre">settings.json</span></code> / <code
class="docutils literal notranslate"><span class="pre">layout.config</span></code>) while OpenRPA
is running will have no effect and, when the application is closed, any value changed will be
lost/overwritten. Hence, if you desire to edit any setting, first always make sure that
<strong>OpenRPA</strong> is not running.</p>
<p>Further on this section, you will find documentation for all the parameters from <code
class="docutils literal notranslate"><span class="pre">settings.json</span></code> and their
possible values.</p>
<p><em>¹ - Currently it not possible to specify the directory where **OpenRPA*</em> local temporary
files (workflows, settings) will be saved.*</p>
<img alt="images/openrpa_settings_json.png" class="align-center"
src="images/openrpa_settings_json.png" />
<div class="section" id="parameters">
<h3><span class="section-number">3.3.1. </span>Parameters<a class="headerlink" href="#parameters"
title="Permalink to this headline">¶</a></h3>
<div class="section" id="wsurl-openrpa-online-offline-local">
<h4><span class="section-number">3.3.1.1. </span>wsurl (OpenRPA online/offline[local])<a
class="headerlink" href="#wsurl-openrpa-online-offline-local"
title="Permalink to this headline">¶</a></h4>
<p>This parameter dictates to which <strong>OpenFlow</strong> enviroment <strong>OpenRPA</strong>
should connect.</p>
<p>The expected value is a valid websocket URL.</p>
<p>Default value is OpenIAP demo enviroment: <code
class="docutils literal notranslate"><span class="pre">wss://app.openiap.io/</span></code>.
</p>
<p>If the value is set as blank <code
class="docutils literal notranslate"><span class="pre">""</span></code> (empty
string), <strong>OpenRPA</strong> will run locally, that is, without being connected to an
<strong>OpenFlow</strong> (and consequently, <strong>NodeRED</strong>) and will no longer
benefit from the cloud features of the OON stack, such as MongoDB or Workflows remote invoking
(as well as and many others features!).</p>
<p>Examples of valid websockets URL:</p>
<div class="highlight-json-object notranslate">
<div class="highlight">
<pre><span></span><span class="nt">"wsurl"</span><span class="p">:</span> <span class="s2">"wss://app.openiap.io/"</span><span class="p">,</span>
<span class="nt">"wsurl"</span><span class="p">:</span> <span class="s2">"ws://localhost.openrpa.dk"</span><span class="p">,</span>
<span class="nt">"wsurl"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
</pre>
</div>
</div>
<p>Notice that <code class="docutils literal notranslate"><span class="pre">wss</span></code>
indicates that the websocket URL is secured, whereas URLs starting with <code
class="docutils literal notranslate"><span class="pre">ws</span></code> are not (same
principles as <code class="docutils literal notranslate"><span class="pre">http</span></code> vs
<code class="docutils literal notranslate"><span class="pre">https</span></code> for webpages),
therefore use the respective protocol that matches with your <strong>OpenFlow</strong>
enviroment.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you were once connected to an <strong>OpenFlow</strong> websocket, but then changed this
parameter to blank and is now running <strong>OpenRPA</strong> locally, you will still have
access to the workflows (and detectors) that are cached since last access to the repository.
Although, be careful! If you make changes to any workflow, project or detector, the next time
you reconnect to the enviroment <strong>you will NOT</strong> commit your changes to the cloud
repository and your changes will be overwritten (by latest version available on the cloud
repository) and lost, unless you export them.</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>You are <strong>always</strong> welcome to use <code
class="docutils literal notranslate"><span class="pre">wss://app.openiap.io/</span></code>
demo enviroment for experimentation purposes. <strong>Running production processes in this
demo enviroment is NOT recommended</strong>.</p>
</div>
</div>
<div class="section" id="username-jwt-password-entropy">
<h4><span class="section-number">3.3.1.2. </span>username / jwt / password / entropy<a
class="headerlink" href="#username-jwt-password-entropy"
title="Permalink to this headline">¶</a></h4>
<p>These four parameters work somewhat together and are used by <strong>OpenRPA</strong> to keep
track of the last logged user plus allows automatically log ins, provided that the saved <code
class="docutils literal notranslate"><span class="pre">jwt</span></code> is still valid.</p>
<p>Default value for <code
class="docutils literal notranslate"><span class="pre">username</span></code> is empty string
<code class="docutils literal notranslate"><span class="pre">""</span></code>.</p>
<p>Default values for <code
class="docutils literal notranslate"><span class="pre">jwt</span></code> and <code
class="docutils literal notranslate"><span class="pre">password</span></code> are <code
class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
<p>Default value for <code
class="docutils literal notranslate"><span class="pre">entropy</span></code> is a randomly
generated key created by your Windows (example <code
class="docutils literal notranslate"><span class="pre">"JungBLhauG+JvQipkQPIp9sLwJw="</span></code>).
</p>
<p>After an user logs in to <strong>OpenRPA</strong>, the application will automatically generate
a JSON Web Token <code class="docutils literal notranslate"><span class="pre">jwt</span></code>
from the combination of <code
class="docutils literal notranslate"><span class="pre">username</span></code> and <code
class="docutils literal notranslate"><span class="pre">password</span></code> ¹, with a given
secret <code class="docutils literal notranslate"><span class="pre">entropy</span></code>. After
the user logs out (or the application is closed), this <code
class="docutils literal notranslate"><span class="pre">jwt</span></code> is then saved and
from there the same user may log in back without the need of typing the credentials again.</p>
<p>¹ - <code class="docutils literal notranslate"><span class="pre">username</span></code> and
<code class="docutils literal notranslate"><span class="pre">password</span></code> that were
typed in the login screen, not from the <code
class="docutils literal notranslate"><span class="pre">settings.json</span></code> file.</p>
<p>If for any reason the log in is not possible (<code
class="docutils literal notranslate"><span class="pre">password</span></code> has been
changed, user no longer exists, <code
class="docutils literal notranslate"><span class="pre">jwt</span></code> is invalid),
<strong>OpenRPA</strong> will erase the values from both <code
class="docutils literal notranslate"><span class="pre">username</span></code> and <code
class="docutils literal notranslate"><span class="pre">password</span></code> and will prompt
the user with the login screen.</p>
</div>
<div class="section" id="cancelkey">
<h4><span class="section-number">3.3.1.3. </span>cancelkey<a class="headerlink" href="#cancelkey"
title="Permalink to this headline">¶</a></h4>
<p>This parameter refers to which key button is responsible to stop the Recorder when the user
wants to cease recording.</p>
<p>Default value is <code
class="docutils literal notranslate"><span class="pre">{ESCAPE}</span></code>.</p>
</div>
<div class="section" id="isagent">
<h4><span class="section-number">3.3.1.4. </span>isagent<a class="headerlink" href="#isagent"
title="Permalink to this headline">¶</a></h4>
<p>This parameter changes <strong>OpenRPA</strong> GUI and should be used when it is desirable to
hide workflows logic or if you want to prevent users from making changes to workflows.
Expected values are either <code
class="docutils literal notranslate"><span class="pre">true</span></code> or <code
class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
<p>Default value is <code
class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
<p>If this parameter is set to <code
class="docutils literal notranslate"><span class="pre">true</span></code>,
<strong>OpenRPA</strong> client will no longer show the UI elements that allow users to view or
edit workflows, but invoking workflows is still possible (both manually/locally or remotely).
</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_running_workflows_running_as_agent.png"><img
alt="images/openrpa_running_workflows_running_as_agent.png"
src="images/openrpa_running_workflows_running_as_agent.png"
style="width: 592.0px; height: 353.5px;" /></a>
</div>
</div>
<div class="section" id="showloadingscreen">
<h4><span class="section-number">3.3.1.5. </span>showloadingscreen<a class="headerlink"
href="#showloadingscreen" title="Permalink to this headline">¶</a></h4>
<p>This parameter defines whether <strong>OpenRPA</strong> loadscreen should show up or not (the
splashscreen with the gears in grey scale when you initialize the application).</p>
<p>Default value is <code
class="docutils literal notranslate"><span class="pre">true</span></code>.</p>
<p>There are no pro/cons performance-wise in disabling the loadscreen, but sometimes it might be
desirable to turn it off, especially when the robot is running on someone’s computer who is not
aware (and does not need to be) of the robot.</p>
</div>
<div class="section" id="culture">
<h4><span class="section-number">3.3.1.6. </span>culture<a class="headerlink" href="#culture"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="ocrlanguage">
<h4><span class="section-number">3.3.1.7. </span>ocrlanguage<a class="headerlink"
href="#ocrlanguage" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="openworkflows">
<h4><span class="section-number">3.3.1.8. </span>openworkflows<a class="headerlink"
href="#openworkflows" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="mainwindow-position">
<h4><span class="section-number">3.3.1.9. </span>mainwindow_position<a class="headerlink"
href="#mainwindow-position" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="designerlayout">
<h4><span class="section-number">3.3.1.10. </span>designerlayout<a class="headerlink"
href="#designerlayout" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="properties">
<h4><span class="section-number">3.3.1.11. </span>properties<a class="headerlink"
href="#properties" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="record-overlay">
<h4><span class="section-number">3.3.1.12. </span>record_overlay<a class="headerlink"
href="#record-overlay" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="querypagesize">
<h4><span class="section-number">3.3.1.13. </span>querypagesize<a class="headerlink"
href="#querypagesize" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="lastupdatecheck-updatecheckinterval-doupdatecheck">
<h4><span class="section-number">3.3.1.14. </span>lastupdatecheck / updatecheckinterval /
doupdatecheck<a class="headerlink" href="#lastupdatecheck-updatecheckinterval-doupdatecheck"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="autoupdateupdater">
<h4><span class="section-number">3.3.1.15. </span>autoupdateupdater<a class="headerlink"
href="#autoupdateupdater" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="log-12-parameters">
<h4><span class="section-number">3.3.1.16. </span>log (12 parameters)<a class="headerlink"
href="#log-12-parameters" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="use-sendkeys">
<h4><span class="section-number">3.3.1.17. </span>use_sendkeys<a class="headerlink"
href="#use-sendkeys" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="use-virtual-click">
<h4><span class="section-number">3.3.1.18. </span>use_virtual_click<a class="headerlink"
href="#use-virtual-click" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="use-animate-mouse">
<h4><span class="section-number">3.3.1.19. </span>use_animate_mouse<a class="headerlink"
href="#use-animate-mouse" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="use-postwait">
<h4><span class="section-number">3.3.1.20. </span>use_postwait<a class="headerlink"
href="#use-postwait" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="minimize">
<h4><span class="section-number">3.3.1.21. </span>minimize<a class="headerlink" href="#minimize"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="recording-add-to-designer">
<h4><span class="section-number">3.3.1.22. </span>recording_add_to_designer<a class="headerlink"
href="#recording-add-to-designer" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="reloadinterval">
<h4><span class="section-number">3.3.1.23. </span>reloadinterval<a class="headerlink"
href="#reloadinterval" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="move-animation-run-time-move-animation-steps">
<h4><span class="section-number">3.3.1.24. </span>move_animation_run_time / move_animation_steps<a
class="headerlink" href="#move-animation-run-time-move-animation-steps"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="remote-allow-multiple-running-remote-allow-multiple-running-max">
<h4><span class="section-number">3.3.1.25. </span>remote_allow_multiple_running /
remote_allow_multiple_running_max<a class="headerlink"
href="#remote-allow-multiple-running-remote-allow-multiple-running-max"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="cef-useragent">
<h4><span class="section-number">3.3.1.26. </span>cef_useragent<a class="headerlink"
href="#cef-useragent" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="show-getting-started">
<h4><span class="section-number">3.3.1.27. </span>show_getting_started<a class="headerlink"
href="#show-getting-started" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section"
id="notify-on-workflow-remote-start-notify-on-workflow-end-notify-on-workflow-remote-end">
<h4><span class="section-number">3.3.1.28. </span>notify_on_workflow_remote_start /
notify_on_workflow_end / notify_on_workflow_remote_end<a class="headerlink"
href="#notify-on-workflow-remote-start-notify-on-workflow-end-notify-on-workflow-remote-end"
title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
<div class="section" id="log-busy-warning">
<h4><span class="section-number">3.3.1.29. </span>log_busy_warning<a class="headerlink"
href="#log-busy-warning" title="Permalink to this headline">¶</a></h4>
<p>Coming soon - Work in progress</p>
</div>
</div>
</div>
<div class="section" id="creating-a-new-project-running-a-workflow">
<h2><span class="section-number">3.4. </span><strong>Creating a new project, Running a
workflow</strong><a class="headerlink" href="#creating-a-new-project-running-a-workflow"
title="Permalink to this headline">¶</a></h2>
<div class="section" id="create-new-project">
<h3><span class="section-number">3.4.1. </span>Create New Project<a class="headerlink"
href="#create-new-project" title="Permalink to this headline">¶</a></h3>
<p>To create a new project on OpenRPA simply click on <strong>New > New Project</strong> at the
Ribbon. It will then open an empty workflow named <strong>New Workflow</strong>.</p>
<div class="figure align-center">
<a class="reference internal image-reference" href="images/openrpa_new_project.png"><img
alt="images/openrpa_new_project.png" src="images/openrpa_new_project.png"
style="width: 180.5px; height: 165.5px;" /></a>
</div>
</div>
<div class="section" id="granting-permissions-to-users-roles">
<h3><span class="section-number">3.4.2. </span>Granting permissions to users/roles<a
class="headerlink" href="#granting-permissions-to-users-roles"
title="Permalink to this headline">¶</a></h3>
<p>To set the permissions for the current workflow or project, whichever is selected, simply click
in the Permissions button at the Ribbon. It opens the <strong>Permissions Window</strong> with the
names of all current users for the workflow. There are 4 types of permission available which will
be discussed next.</p>
<div class="section" id="read">
<h4><span class="section-number">3.4.2.1. </span>Read<a class="headerlink" href="#read"
title="Permalink to this headline">¶</a></h4>
<p>Users have access to execute and view the content of the workflow.</p>
</div>
<div class="section" id="update">
<h4><span class="section-number">3.4.2.2. </span>Update<a class="headerlink" href="#update"
title="Permalink to this headline">¶</a></h4>
<p>Users have access to update and view the content of the workflow.</p>
</div>
<div class="section" id="delete">
<h4><span class="section-number">3.4.2.3. </span>Delete<a class="headerlink" href="#delete"
title="Permalink to this headline">¶</a></h4>
<p>Users have access to delete the workflow or group of workflows from the workspace.</p>
</div>
<div class="section" id="invoke">
<h4><span class="section-number">3.4.2.4. </span>Invoke<a class="headerlink" href="#invoke"
title="Permalink to this headline">¶</a></h4>
<p>Users have access to invoke the content of the workflow.</p>
<p>To set these permissions simply click in the user you want to grant or revoke permissions and
click the desired button. If the user is available at the OpenFlow repository but not in the
current workflow, simply click the new button and type their username, a dropdown will come up
with suggestions for the name of the user you are looking for. Select the user and click OK.</p>
<div class="figure align-center">
<img alt="images/openrpa_permissions_window.png" src="images/openrpa_permissions_window.png" />
</div>
</div>
</div>
<div class="section" id="new-workflow">
<h3><span class="section-number">3.4.3. </span>New Workflow<a class="headerlink"
href="#new-workflow" title="Permalink to this headline">¶</a></h3>
<p>Immediately after clicking <strong>New Project</strong> inside the <strong>New</strong> ribbon, a
new empty workflow appears on the screen with a single sequence containing the caption <em>Drop
activity here</em>. This is where you are going to add activities to build and implement the BPM
process you have in mind.</p>
<p>If you are running <strong>OpenRPA</strong> online (that is, connected to a
websocket/<strong>OpenFlow</strong>), your workflows are automatically inside OpenFlow’s
repository and will be automatically be synced after each save. The OON stack takes care of
workflow deployment, storage and readily makes the most recent version immediately available¹ to
everyone (that have permission) in the same <strong>OpenFlow</strong>.</p>
<p><em>¹ - After a save occurs, **OpenFlow*</em> is immediately updated but other users may need to
wait until their synchronization happens before your changes are reflected to them (they can also
force an update by manually refreshing / reopening <strong>OpenRPA</strong>).*</p>
<div class="figure align-center">
<img alt="images/openrpa_empty_workflow.png" src="images/openrpa_empty_workflow.png" />
</div>
</div>
<div class="section" id="using-the-designer">
<h3><span class="section-number">3.4.4. </span>Using the Designer<a class="headerlink"
href="#using-the-designer" title="Permalink to this headline">¶</a></h3>
<p>Below are instructions on how to use OpenRPA’s <strong>Designer</strong> to accomplish a few
common tasks inside OpenRPA.</p>
<div class="section" id="dragging-an-activity">
<h4><span class="section-number">3.4.4.1. </span>Dragging an Activity<a class="headerlink"
href="#dragging-an-activity" title="Permalink to this headline">¶</a></h4>
<p>To drag an activity into OpenRPA, simply click the activity inside the <strong>Toolbox</strong>
keep the left button of the mouse pressed and drag it into the workspace.</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_using_the_designer_drag_an_activity.png"><img
alt="images/openrpa_using_the_designer_drag_an_activity.png"
src="images/openrpa_using_the_designer_drag_an_activity.png"
style="width: 479.5px; height: 266.5px;" /></a>
</div>
<p>Then, the activity will appear inside the sequence.</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_using_the_designer_activity_inside_sequence.png"><img
alt="images/openrpa_using_the_designer_activity_inside_sequence.png"
src="images/openrpa_using_the_designer_activity_inside_sequence.png"
style="width: 480.0px; height: 267.5px;" /></a>
</div>
<p>This shows how easy it is to drag it to the main sequence! Try it yourself! Drag another
activity into the main sequence.</p>
<p>If, on the other hand, you’d like to drag it into a nested sequence simply repeat the procedure
but instead of simply dragging it into the workspace, drag it into the block inside the desired
sequence.</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_using_the_designer_drag_an_activity_into_inner_sequence_drag.png"><img
alt="images/openrpa_using_the_designer_drag_an_activity_into_inner_sequence_drag.png"
src="images/openrpa_using_the_designer_drag_an_activity_into_inner_sequence_drag.png"
style="width: 479.5px; height: 265.5px;" /></a>
</div>
</div>
<div class="section" id="organizing-the-workflow">
<h4><span class="section-number">3.4.4.2. </span>Organizing the Workflow<a class="headerlink"
href="#organizing-the-workflow" title="Permalink to this headline">¶</a></h4>
<p>Organizing the workflow in OpenRPA is easily done through changing activities’ display names
and organizing sequences by nesting them.</p>
<p><strong>Changing an Activity’s Display Name</strong></p>
<p>To change an activity’s display name, the user can either click the name of the activity or
change its property <code
class="docutils literal notranslate"><span class="pre">DisplayName</span></code> inside the
<strong>Properties box</strong>, as seen in the image below.</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_using_the_designer_display_name_changing_displayname.png"><img
alt="images/openrpa_using_the_designer_display_name_changing_displayname.png"
src="images/openrpa_using_the_designer_display_name_changing_displayname.png"
style="width: 529.5px; height: 267.0px;" /></a>
</div>
<p><strong>Nesting Sequences</strong></p>
<p>Nesting a sequence inside the main sequence is easy. Simply drag a <strong>Sequence</strong>
activity inside the main sequence.</p>
<div class="figure align-center">
<a class="reference internal image-reference"
href="images/openrpa_using_the_designer_nesting_sequence_drag_into.png"><img
alt="images/openrpa_using_the_designer_nesting_sequence_drag_into.png"
src="images/openrpa_using_the_designer_nesting_sequence_drag_into.png"
style="width: 479.5px; height: 267.0px;" /></a>
</div>