Skip to content

Commit 40e0a98

Browse files
committed
Update README file
#2
1 parent 4cd386b commit 40e0a98

2 files changed

Lines changed: 182 additions & 2 deletions

File tree

README.md

Lines changed: 91 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,91 @@
1-
# plugin-External-Process
2-
FlowSynx plugins to execute external processes, scripts, or commands and capture their output, enabling integration of external tasks within workflows.
1+
# FlowSynx External Process Plugin
2+
3+
The **FlowSynx External Process Plugin** is a plug-and-play integration for the FlowSynx automation engine. It allows workflows to execute external scripts, commands, or programs on the host system and capture their output, with no custom coding required.
4+
5+
This plugin is automatically installed by the FlowSynx engine when selected in the workflow builder. It is not intended for standalone developer usage outside the FlowSynx platform.
6+
7+
---
8+
9+
## Purpose
10+
11+
The External Process Plugin enables FlowSynx users to:
12+
13+
- Execute external scripts, programs, or shell commands.
14+
- Pass input arguments to processes dynamically from workflows.
15+
- Capture standard output (`stdout`) and standard error (`stderr`) for further processing.
16+
- Optionally fail the workflow if the executed process returns a non-zero exit code.
17+
18+
It is ideal for integrating custom logic, legacy tools, or third-party utilities directly into FlowSynx workflows.
19+
20+
---
21+
22+
## Input Parameters
23+
24+
The plugin accepts the following parameters:
25+
26+
- `FileName` (string): **Required.** The name or full path of the executable or script to run (e.g., `python`, `bash`, `cmd.exe`, `mytool.exe`).
27+
- `Arguments` (string): **Optional.** Command-line arguments to pass to the process.
28+
- `WorkingDirectory` (string): **Optional.** The directory where the process should execute.
29+
- `ShowWindow` (boolean): **Optional.** Whether to display the process window (default: `false`).
30+
- `FailOnNonZeroExit` (boolean): **Optional.** If `true`, the plugin will throw an error when the process exits with a non-zero code (default: `true`).
31+
32+
### Example
33+
34+
**Input Parameters:**
35+
36+
```json
37+
{
38+
"FileName": "echo",
39+
"Arguments": "Hello, FlowSynx!"
40+
}
41+
```
42+
43+
**Output:**
44+
45+
```json
46+
{
47+
"Id": "process-1234",
48+
"SourceType": "Process",
49+
"Format": "Text",
50+
"Metadata": {
51+
"ExitCode": 0,
52+
"FileName": "echo",
53+
"Arguments": "Hello, FlowSynx!",
54+
"WorkingDirectory": "C:\Users\flow",
55+
"ExecutionTime": "2025-07-17T12:34:56Z"
56+
},
57+
"Content": "Hello, FlowSynx!",
58+
"RawData": null,
59+
"StructuredData": null
60+
}
61+
```
62+
63+
---
64+
65+
## Example Use Case in FlowSynx
66+
67+
1. Add the External Process Plugin to your FlowSynx workflow.
68+
3. Specify the `FileName` and optional `Arguments`.
69+
4. Use captured output in downstream workflow steps (e.g., parsing `stdout` into variables).
70+
71+
---
72+
73+
## Debugging Tips
74+
75+
- If the process fails with a non-zero exit code and `FailOnNonZeroExit` is enabled, the plugin will raise an error. Set `FailOnNonZeroExit` to `false` to handle failures gracefully.
76+
- Use absolute paths for `FileName` if the executable is not in the system `PATH`.
77+
- Capture both `stdout` and `stderr` to troubleshoot unexpected process behavior.
78+
79+
---
80+
81+
## Security Notes
82+
83+
- Processes are executed in the host system environment where FlowSynx is deployed.
84+
- Ensure only trusted executables/scripts are configured to avoid security risks.
85+
- All process executions respect FlowSynx platform permissions and isolation rules.
86+
87+
---
88+
89+
## License
90+
91+
© FlowSynx. All rights reserved.

src/README.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
## FlowSynx External Process Plugin
2+
3+
The **FlowSynx External Process Plugin** is a plug-and-play integration for the FlowSynx automation engine. It allows workflows to execute external scripts, commands, or programs on the host system and capture their output, with no custom coding required.
4+
5+
This plugin is automatically installed by the FlowSynx engine when selected in the workflow builder. It is not intended for standalone developer usage outside the FlowSynx platform.
6+
7+
---
8+
9+
## Purpose
10+
11+
The External Process Plugin enables FlowSynx users to:
12+
13+
- Execute external scripts, programs, or shell commands.
14+
- Pass input arguments to processes dynamically from workflows.
15+
- Capture standard output (`stdout`) and standard error (`stderr`) for further processing.
16+
- Optionally fail the workflow if the executed process returns a non-zero exit code.
17+
18+
It is ideal for integrating custom logic, legacy tools, or third-party utilities directly into FlowSynx workflows.
19+
20+
---
21+
22+
## Input Parameters
23+
24+
The plugin accepts the following parameters:
25+
26+
- `FileName` (string): **Required.** The name or full path of the executable or script to run (e.g., `python`, `bash`, `cmd.exe`, `mytool.exe`).
27+
- `Arguments` (string): **Optional.** Command-line arguments to pass to the process.
28+
- `WorkingDirectory` (string): **Optional.** The directory where the process should execute.
29+
- `ShowWindow` (boolean): **Optional.** Whether to display the process window (default: `false`).
30+
- `FailOnNonZeroExit` (boolean): **Optional.** If `true`, the plugin will throw an error when the process exits with a non-zero code (default: `true`).
31+
32+
### Example
33+
34+
**Input Parameters:**
35+
36+
```json
37+
{
38+
"FileName": "echo",
39+
"Arguments": "Hello, FlowSynx!"
40+
}
41+
```
42+
43+
**Output:**
44+
45+
```json
46+
{
47+
"Id": "process-1234",
48+
"SourceType": "Process",
49+
"Format": "Text",
50+
"Metadata": {
51+
"ExitCode": 0,
52+
"FileName": "echo",
53+
"Arguments": "Hello, FlowSynx!",
54+
"WorkingDirectory": "C:\Users\flow",
55+
"ExecutionTime": "2025-07-17T12:34:56Z"
56+
},
57+
"Content": "Hello, FlowSynx!",
58+
"RawData": null,
59+
"StructuredData": null
60+
}
61+
```
62+
63+
---
64+
65+
## Example Use Case in FlowSynx
66+
67+
1. Add the External Process Plugin to your FlowSynx workflow.
68+
3. Specify the `FileName` and optional `Arguments`.
69+
4. Use captured output in downstream workflow steps (e.g., parsing `stdout` into variables).
70+
71+
---
72+
73+
## Debugging Tips
74+
75+
- If the process fails with a non-zero exit code and `FailOnNonZeroExit` is enabled, the plugin will raise an error. Set `FailOnNonZeroExit` to `false` to handle failures gracefully.
76+
- Use absolute paths for `FileName` if the executable is not in the system `PATH`.
77+
- Capture both `stdout` and `stderr` to troubleshoot unexpected process behavior.
78+
79+
---
80+
81+
## Security Notes
82+
83+
- Processes are executed in the host system environment where FlowSynx is deployed.
84+
- Ensure only trusted executables/scripts are configured to avoid security risks.
85+
- All process executions respect FlowSynx platform permissions and isolation rules.
86+
87+
---
88+
89+
## License
90+
91+
© FlowSynx. All rights reserved.

0 commit comments

Comments
 (0)