Advanced Integrations
Introduction
Section titled “Introduction”Advanced Integrations are for when you need to go beyond IONFLOW’s pre-configured applications. If the app you need doesn’t have a dedicated node (Grapp), or if you want to connect with your own or custom API, this section shows you how.
With the HTTP Request node, the commands and expressions system, and the Mapper, you can integrate virtually any service that has a REST API.
Who This Section Is For
Section titled “Who This Section Is For”- Developers: Who need to integrate custom or non-standard APIs
- Power Users: Who want to transform data with advanced expressions
- Integration specialists: Who configure complex connections with multiple services
When to Use Advanced Integrations
Section titled “When to Use Advanced Integrations”Use advanced integrations when:
- ❌ The application you need doesn’t have a Grapp (dedicated node) in IONFLOW
- ❌ You need an operation that the existing Grapp doesn’t support
- ✅ You want to connect with your own REST API (company API)
- ✅ You need to transform complex data before sending it to another service
- ✅ You want to combine data from multiple sources in a single operation
HTTP Request
Section titled “HTTP Request”The HTTP Request node is your universal tool for connecting with any REST API. Configure:
| Field | Description |
|---|---|
| URL | The full URL of the API endpoint |
| Method | GET, POST, PUT, PATCH, DELETE |
| Headers | Custom HTTP headers (e.g., Authorization, Content-Type) |
| Body | Data to send (JSON, form-data, raw) |
| Query Params | URL parameters (?key=value) |
Example: Querying a REST API
Section titled “Example: Querying a REST API”[Scheduler every 5 min] → [HTTP Request GET to api.example.com/data] → [Mapper transforms response] → [Persistent Data Save]Authentication in HTTP Request
Section titled “Authentication in HTTP Request”For APIs requiring authentication, add the corresponding headers:
- Bearer Token:
Authorization: Bearer your_token_here - API Key:
X-API-Key: your_api_key - Basic Auth:
Authorization: Basic base64(user:password)
You can use command language functions to build dynamic headers: {{toBase64(user + ":" + password)}}
Data Transformations
Section titled “Data Transformations”Mapper
Section titled “Mapper”The Mapper node lets you restructure data visually. It’s useful when:
- The source API returns data in a different format than the destination API needs
- You need to rename fields, extract nested values, or combine data
- You want to filter unnecessary fields before passing data to the next node
Expressions and Commands
Section titled “Expressions and Commands”Within any configuration field, you can use IONFLOW’s command language to transform data:
// Concatenate fields{{$1.first_name}} + " " + {{$1.last_name}}
// Convert to uppercaseupper({{$1.email}})
// Filter an arrayfilter({{$1.orders}}, .total > 100)
// Format datedate({{$1.date}}, "2006-01-02")Advanced Scripting
Section titled “Advanced Scripting”For more complex transformations, IONFLOW supports multi-line expressions with variables:
let name = {{$1.first_name}} + " " + {{$1.last_name}};let email = lower({{$1.email}});let is_vip = {{$1.total_purchases}} > 1000;
{ "full_name": name, "email": email, "tier": is_vip ? "VIP" : "Standard"}See Command Definitions for all available functions (strings, arrays, dates, numbers, etc.).
Rate Limiting
Section titled “Rate Limiting”When integrating with external APIs, respect their usage limits:
- Use the Timer node to add pauses between requests
- Configure the Timer with an appropriate delay (e.g., 1 second between requests)
- If you receive a
429 (Too Many Requests)error, increase the delay
[Iterator loops list] → [Timer 1s] → [HTTP Request] → [Process result]Monitoring Integrations
Section titled “Monitoring Integrations”To verify your integrations are working correctly:
- Use Dev (Preview) mode to see data at each step
- Check the Execution History to detect errors
- Inspect Input/Output data for each node in the timeline
Common Errors
Section titled “Common Errors”| Error | Cause | Solution |
|---|---|---|
| ”404 Not Found” | Incorrect URL or non-existent resource | Verify the URL in the API documentation |
| ”401 Unauthorized” | Expired token or incorrect credentials | Update the token or credentials in the Authorization header |
| ”429 Too Many Requests” | Exceeded the API’s rate limit | Add a Timer node between requests to space out calls |
| ”500 Internal Server Error” | Error on the external API server | Wait a few minutes and retry. If persistent, contact the API provider |
| ”Empty response data” | Incorrect Content-Type or unexpected response | Verify the Content-Type header and expected response format |
Key Terms
Section titled “Key Terms”- REST API: HTTP-based application programming interface
- Endpoint: Specific URL of a resource in an API
- Header: Metadata sent along with the HTTP request
- Payload/Body: Data sent in the request body
- Rate Limit: Limit of allowed requests per time unit
- Token: Temporary authentication code for API access
Next Steps
Section titled “Next Steps”- Commands - Complete transformation functions reference
- Connections - Use pre-configured connections
- Webhooks - Receive external API data in real-time