What It Does
When enabled, the agent can:- Make GET or POST requests to configured API endpoints
- Authenticate using Bearer tokens, Basic Auth, API keys, or OAuth 2.0
- Add custom headers for API versioning or additional metadata
- Construct request bodies based on ticket context
- Process and act on API responses
This tool is ideal for integrating with systems Neo doesn’t natively support.
How to Use
1
Add an API Configuration
Click “Add API Configuration” and provide:
- API Name: A unique identifier (e.g.,
slack_alert,internal_ticketing) - Endpoint URL: The full URL to call
- HTTP Method: GET or POST
2
Configure Authentication
Choose how the API authenticates requests:
| Method | When to Use |
|---|---|
| None | Public endpoints or pre-authenticated URLs (webhooks) |
| Bearer Token | APIs that accept a static token in the Authorization header |
| Basic Auth | APIs requiring username/password authentication |
| API Key Header | APIs that expect an API key in a custom header (e.g., x-api-key) |
| OAuth 2.0 Client Credentials | APIs requiring OAuth 2.0 token-based auth with automatic refresh |
All credentials are stored securely in Azure Key Vault and never exposed in logs or event history.
3
Define Request Body Fields (POST only)
For POST requests, define the fields the agent should populate:
- Name: The JSON key name
- Type: String, Number, or Boolean
- Description: Explains what the field represents (helps the agent populate it correctly)
- Required: Whether the field must be included
4
Add Custom Instructions
Guide the agent on when and how to use each API. Include:
- Conditions for calling the API
- How to map ticket data to request fields
- What to do with the response
Authentication Methods Explained
API Key Header
Use this method when the API expects an API key in a custom header rather than the standardAuthorization header.
Configuration:
- Header Name: The header to use (e.g.,
x-api-key,api-key,X-API-KEY) - API Key: Your API key value
OAuth 2.0 Client Credentials
Use this method for enterprise APIs that require OAuth 2.0 authentication. Neo automatically fetches and caches access tokens, refreshing them before they expire. Configuration:- Token Endpoint URL: The OAuth2 token endpoint (e.g.,
https://auth.example.com/oauth/token) - Token Request Parameters: Key-value pairs sent in the token request:
grant_type: Usuallyclient_credentialsclient_id: Your application’s client IDclient_secret: Your application’s client secret (mark as secret)scope: Required scopes (if applicable)
- Token Auth (Optional): Some providers require Basic Auth on the token endpoint
Custom Headers
Add static headers to every request beyond authentication. Useful for:- API versioning:
Api-Version: 2024-01 - Tenant identification:
X-Tenant-Id: acme-corp - Request tracing:
X-Request-Source: neo-agent
Example: Kick-off a Rewst Workflow

- API Name:
rewst_user_onboarding - Endpoint:
https://engine.rewst.io/webhooks/custom/trigger/{TRIGGER_ID}/{ORG_ID} - Method: POST
- Auth: (Choose your preferred authentication method)
| Name | Type | Description | Required |
|---|---|---|---|
user_email | String | The email of the user to onboard | Yes |
user_name | String | The name of the user to onboard | Yes |
user_phone | String | The phone number of the user to onboard | Yes |
microsoft_licenses | String | The Microsoft licenses to assign to the user | Yes |
Example: Slack Webhook Alert
Configure an API to send alerts to a Slack channel when high-priority tickets arrive: Settings:- API Name:
slack_high_priority_alert - Endpoint:
https://hooks.slack.com/services/YOUR/WEBHOOK/URL - Method: POST
- Auth: None (webhook URL is pre-authenticated)
| Name | Type | Description | Required |
|---|---|---|---|
text | String | The message to post in Slack | Yes |
Example: Enterprise API with OAuth 2.0
Configure an API that uses OAuth 2.0 Client Credentials for authentication: Settings:- API Name:
crm_update_contact - Endpoint:
https://api.example.com/v1/contacts - Method: POST
- Auth: OAuth 2.0 Client Credentials
- Token Endpoint URL:
https://auth.example.com/oauth/token - Token Request Parameters:
| Key | Value | Secret |
|---|---|---|
grant_type | client_credentials | No |
client_id | your-client-id | No |
client_secret | your-client-secret | Yes |
scope | contacts.write | No |
| Name | Type | Description | Required |
|---|---|---|---|
email | String | Contact email address | Yes |
name | String | Contact full name | Yes |
notes | String | Additional notes from the ticket | No |
Neo caches OAuth tokens and automatically refreshes them before expiry. You don’t need to handle token management in your instructions.
Best Practices
Use descriptive API names
Use descriptive API names
Choose names that clearly indicate purpose:
jira_create_issue, pagerduty_alert, custom_crm_update. The agent uses these names to decide which API to call.Write detailed field descriptions
Write detailed field descriptions
The agent relies on field descriptions to map ticket data correctly. Instead of “The message”, write “A summary of the ticket issue including the error message and affected user”.
Test with approval enabled first
Test with approval enabled first
Always enable technician approval when configuring new APIs. Review the requests the agent wants to make before allowing autonomous operation.
Handle errors gracefully
Handle errors gracefully
Add custom instructions for what the agent should do if the API returns an error—retry, escalate, or add a note to the ticket.
Choose the right authentication method
Choose the right authentication method
- Public webhooks → None
- Static API key in header → API Key Header
- Static token → Bearer Token
- Username/password → Basic Auth
- Enterprise APIs with token refresh → OAuth 2.0 Client Credentials
Test before going live
Test before going live
Use the Test button (▶) on each API configuration to verify connectivity and authentication before enabling the workflow. This catches credential issues early.
Use custom headers for API versioning
Use custom headers for API versioning
Pin your integration to a specific API version using custom headers (e.g.,
Api-Version: 2024-01). This prevents breaking changes when the API provider releases updates.