HTTP Request Tool
The HTTP Request Tool allows your Agent to make HTTP calls to external APIs or services, extending its capabilities beyond the native Endless ecosystem. It can be used to retrieve data from an external database, trigger third-party actions, or send structured information to another system.
🔹 How It Works
You configure the Tool with a clear description explaining its purpose in natural language. The Agent reads this description and decides when and how to use the tool during a conversation.
You can define Properties (variables) that the Agent will collect dynamically from the user when needed. Each property is described in plain language, guiding the Agent on how to request and format that information.
When the Agent identifies it needs to use this Tool:
It checks if it already has all required properties.
If not, it asks the user to provide the missing data.
Once all variables are available, it executes the HTTP request using the configuration you defined.
Supported HTTP Methods:
GET→ retrieve informationPOST→ create new resourcesPUT→ update existing dataDELETE→ remove resourcesPATCH→ perform partial updates
⚙️ Configuration Fields
When creating a new HTTP Request Tool, configure the following fields:
Name
A clear, descriptive name for the tool (e.g., Customer API Lookup).
Description
Explain the purpose of the tool in simple terms (e.g., Fetches customer details from the external CRM).
Properties (Variables)
Define what input data the Agent must collect. Each property includes a name, type (string, boolean, or number), and a short natural-language description.
URL
The API endpoint to be called (can include variables like {{id}}).
Method
Choose between GET, POST, PUT, DELETE, or PATCH.
Headers
Define optional headers such as authentication or content-type.
Query Parameters
Add query key–value pairs to the request URL.
Body
JSON payload for POST/PUT/PATCH requests. You can also use properties here (e.g., {"name": "{{name}}"}).
🧩 New Feature — Property Picker
When editing Headers, Query, or Body, Endless now provides a Property Picker that displays all variables already defined for the tool.
Instead of typing {{variableName}} manually, you can simply:
Click inside a field (e.g., Headers, Query, or Body).
A floating box appears listing all existing properties.
Click the desired property — Endless automatically inserts it in the correct format (e.g.,
{{queryParam}}).
This feature eliminates manual syntax errors and accelerates tool configuration.
💡 Example: If your property is
queryParam, clicking it will automatically add{{queryParam}}to your field.
🔹 Example Setup
Name: Customer API Lookup Description: “Allows the Agent to search for customer information by ID in the external CRM.”
Property:
id(number) → “Customer ID provided by the user. Must be numeric.”
Configuration:
URL: https://api.crm.com/customers/{{id}}
Method: GET
Headers: {"Authorization": "Bearer {{api_key}}"}Example Body (for POST requests):
{
"name": "{{name}}",
"email": "{{email}}",
"project_type": "{{project_type}}"
}If the Agent hasn’t yet collected one of the required variables (e.g., project_type), it will ask the user for that information before executing the request.
🧠 Best Practices
Be explicit in your property descriptions. Example: “This is the project deadline. Format as DD/MM/YYYY.”
Keep tools focused — only create tools that perform specific, essential API operations.
Test every request internally before publishing to production.
Use secure authentication headers, and avoid exposing API keys directly.
For complex APIs, consider splitting into multiple tools (e.g., Customer Lookup, Customer Update, etc.).
Leverage the Property Picker to reduce errors when inserting variables into the request.
✅ Key Takeaway
The HTTP Request Tool is the bridge between your Endless Agent and external APIs. By defining clear descriptions, properties, and using the Property Picker, you ensure that Agents can dynamically collect, format, and send accurate data — safely and efficiently.
If some information is missing, the Agent will prompt the user for it first, guaranteeing that every API call is complete, contextual, and precise.
Last updated
