Internet Tools
The Internet Tools Events Provider enables your workflows to react to external HTTP requests in real-time. It acts as a bridge between external systems and your process flows, using custom End Points to receive data and trigger automation.
End Points
Before diving into the available events, it's important to understand the concept of End Points.
Each project can define multiple End Points, which currently accept only HTTP requests. Support for additional protocols is planned in the future.
An End Point is a unique identifier that extends your service URL. For example:
https://api.fl101.io/ext/x19x4y6d4hh08rx3/
You can optionally assign a human-readable alias:
https://api.fl101.io/ext/demo/
Note: Once an alias is assigned, the original system-generated URL will no longer accept requests. Alias support is currently unavailable on the Free Plan.
Each End Point also comes with configurable attributes that give you fine-grained control over its behavior:
- Response Timeout – Maximum time (in seconds) the End Point will wait for your backend to respond. The maximum allowed value is 300 seconds (5 minutes).
- Request Rate Limit – Maximum number of requests per second the End Point will accept. The maximum allowed value is 60 requests per second.
CORS Settings (optional)
You can enable Cross-Origin Resource Sharing (CORS) for an End Point to allow web browsers to call it directly from frontend applications. When enabled, the following options become available:
| Option | Description | Default |
|---|---|---|
| Allowed Origins | Comma-separated list or * to allow any origin |
(empty) |
| Allowed Methods | HTTP methods the End Point accepts (e.g. GET,POST,PUT,DELETE) |
(empty) |
| Allowed Headers | Headers clients are allowed to send (e.g. content-type,authorization) |
(empty) |
| Exposed Headers | Headers the browser is allowed to read in the response | (empty) |
| Allow Credentials | Whether cookies and Authorization headers can be sent with the request | false |
| Max Age | How long (in seconds) the results of a preflight request can be cached | 3600 |
These settings give you full control over performance, security, rate-limiting, and cross-origin access for each End Point in your project.
HTTP Request
This event is triggered when an incoming HTTP request is received at a configured End Point.
Event Filters
| Name | Description |
|---|---|
| Path | Appends a specific path to the End Point. You can include path parameters, e.g. subscribe/{code}. |
| HTTP Method | Restricts the event to only trigger for selected methods: GET, HEAD, POST, PUT, DELETE, PATCH. |
Note: If a filter value is incorrect, the event will silently fail to trigger — no error will be raised.
Result Payload
When triggered, the event provides the following data in the Execution State:
| Field | Type | Description |
|---|---|---|
| id | Text | Unique request identifier |
| method | Text | HTTP method used in the request |
| parameters | Array | List of key/value pairs from path and query string parameters |
| headers | Array | List of request headers as key/value pairs |
| body | Object | Parsed request body, if possible |
| files | Array |
Present only when the request uses Content-Type: multipart/form-data and contains uploaded files.Each array element is an object with the following properties:
|
Sample Payload
When calling the following URL: curl -X POST "https://api.fl101.io/ext/k32768b8maib4o6t?test=456" -d '{"test": 123}' -H "Content-Type:application/json"
You’ll receive a payload like this:
{
"id": "66d297ed-d429-43ce-8f53-797eae8404bd",
"method": "POST",
"headers": {
"content-length": 13,
"x-forwarded-proto": "https",
"host": "api.fl101.io",
"x-forwarded-port": 443,
"content-type": "application/json",
"x-forwarded-for": "192.168.0.1",
"user-agent": "curl/8.7.1",
"accept": "*/*"
},
"parameters": {
"test": 456
},
"body": {
"test": 123
}
}
Responding to the Request
The HTTP Request event is designed to work with a paired Send Task using the event type HTTP Response. This allows your process to respond directly to the original HTTP request.
To send a response:
- Provide the original Request ID.
- Specify a response status code (e.g. 200).
- Optionally define headers and a response body.
The maximum time allowed to respond is 10 seconds. If the response is not returned in time, the request will time out.
This setup enables real-time, event-driven communication between your workflows and external systems — with full control over how requests are processed and responded to.