Skip to content

Actions

Actions transform your AI assistant from a simple Q&A bot into an active agent that can interact with external systems, retrieve real-time data, and perform operations on behalf of users.


What is an Action?

An Action is a configurable HTTP request that your assistant can execute during conversations. When a user's request requires external data or operations, the assistant intelligently decides to invoke the appropriate action.

Example scenario:

User: "What's the status of order #12345?"

Assistant invokes the check_order_status action with order_id=12345

Assistant: "Your order #12345 shipped yesterday and should arrive by Friday. Here's your tracking number: 1Z999AA1234567890"


How Actions Work

  1. You define actions — Create HTTP request templates with parameters
  2. You describe them — Write clear descriptions so the AI knows when to use them
  3. User asks a question — That requires real-time or external data
  4. AI decides to act — Based on the question and action descriptions
  5. AI extracts parameters — From the conversation context
  6. Request is executed — FineGuide calls the external API
  7. AI interprets response — And communicates results to the user

Creating Actions

  1. Go to Assistants → [Your Assistant]
  2. Click the Actions tab

Create New Action

Click Create Action to open the action editor.

Action Components

ComponentRequiredDescription
NameYesUnique identifier (snake_case, letters and underscores only)
DescriptionYesExplains what the action does — helps AI decide when to use it
MethodYesHTTP method (GET, POST, PUT, DELETE, PATCH)
URLYesAPI endpoint, can include
HeadersNoRequest headers (authentication, content-type)
ParametersYesValues the AI extracts from conversation
BodyNoRequest payload for POST/PUT requests

Basic Example

json
{
  "name": "get_order_status",
  "description": "Retrieves the current status of a customer order using their order number",
  "method": "get",
  "url": "https://api.yourstore.com/orders/{{order_id}}",
  "content-type": "application/json",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "parameters": [
    {
      "name": "order_id",
      "type": "string",
      "required": true,
      "location": "path",
      "description": "The order ID or order number provided by the customer"
    }
  ],
  "body": []
}

Parameters

Parameters are dynamic values that the AI extracts from the conversation and uses when calling the action.

Parameter Structure

FieldDescription
nameParameter identifier
typeData type: string, number, or boolean
requiredIs this parameter mandatory?
locationWhere in the request: path, query, body, or headers
descriptionHelps AI understand what value to extract

Parameter Locations

Path Parameters — Embedded in the URL:

URL: https://api.example.com/orders/{{order_id}}

Query Parameters — Added to URL as query string:

URL: https://api.example.com/products?category={{category}}&limit={{limit}}

Body Parameters — Included in request body:

json
{
  "customer_email": "{{email}}",
  "message": "{{message}}"
}

Header Parameters — Added to request headers:

Authorization: Bearer {{api_token}}

Import Options

Import from cURL

Have an existing API call as a cURL command? Import it directly:

  1. Click Import cURL
  2. Paste your cURL command
  3. FineGuide parses it into an action
  4. Review and adjust as needed

Example cURL:

bash
curl -X POST https://api.mailgun.net/v3/domain/messages \
  -u 'api:key-xxxxx' \
  -F to='[email protected]' \
  -F subject='Hello' \
  -F text='Message body'

Import from n8n

Connect your n8n automation platform to import workflows:

  1. First, connect n8n in Settings → n8n
  2. Go to Actions → Import from n8n
  3. Browse available workflows
  4. Select and import as actions

Action Templates

FineGuide provides pre-built templates for popular services. Templates handle the complex configuration so you just provide your credentials.

Available Templates

ServiceTemplates
ShopifySearch products, check availability, order status, product recommendations
WooCommerceGet products, order lookup
AfterShipTrack packages across 700+ carriers
MailgunSend emails
TwilioSend SMS messages
HubSpotCreate CRM contacts
TrelloCreate cards

Using Templates

  1. Go to Actions → Templates tab
  2. Browse available templates
  3. Click a template to configure
  4. Enter your credentials (API keys, domains, etc.)
  5. Template is converted to a working action

Testing Actions

Before using actions in production, test them:

  1. Select an action from the list
  2. Click the Test button (⚡ icon)
  3. Enter test values for each parameter
  4. Click Execute
  5. Review the response

What to check:

  • Is the response what you expected?
  • Are error cases handled properly?
  • Is the response format consistent?

Best Practices

Write Clear Descriptions

The AI uses descriptions to decide when to invoke actions. Be specific:

Good:

"Retrieves the current shipping status and tracking information for an order using the order number"

Bad:

"Gets order info"

Handle Errors Gracefully

Design your API to return clear error messages. The AI will communicate these to users.

Secure Your Credentials

  • Never expose sensitive API keys in descriptions
  • Use environment variables where possible
  • Rotate keys regularly

Keep Actions Focused

Create specific actions rather than complex multi-purpose ones:

Good:

  • get_order_status
  • cancel_order
  • update_shipping_address

Bad:

  • order_operations (tries to do everything)

Test Thoroughly

Before enabling:

  1. Test with valid inputs
  2. Test with invalid inputs
  3. Test edge cases
  4. Verify response handling

Common Use Cases

E-commerce

ActionPurpose
check_order_statusLook up order delivery status
track_packageGet shipping tracking info
search_productsFind products by criteria
check_inventoryVerify product availability
get_recommendationsSuggest related products

Customer Support

ActionPurpose
lookup_accountFind customer account details
check_subscriptionVerify subscription status
create_ticketFile a support request
schedule_callbackBook a call with support

Lead Generation

ActionPurpose
create_crm_contactAdd lead to CRM
schedule_demoBook a product demo
send_quoteEmail a price quote
add_to_newsletterSubscribe to mailing list

Booking/Scheduling

ActionPurpose
check_availabilitySee open time slots
make_reservationBook an appointment
cancel_bookingCancel existing reservation
send_reminderTrigger reminder notification

Troubleshooting

Action Not Being Invoked

  • Check description — Is it clear when to use this action?
  • Verify parameters — Are descriptions helping AI extract values?
  • Test manually — Does the action work when tested directly?

Wrong Parameters Extracted

  • Improve descriptions — Be more specific about expected values
  • Add examples — Include format examples in parameter descriptions
  • Simplify — Break complex actions into simpler ones

API Errors

  • Check credentials — Are API keys correct and not expired?
  • Verify endpoint — Is the URL correct?
  • Test independently — Does the API work outside FineGuide?
  • Check permissions — Does the API key have required access?

Slow Responses

  • API performance — Is the external API slow?
  • Reduce complexity — Simplify the request if possible
  • Caching — Consider if the API supports caching

Technical Reference

JSON Schema

json
{
  "name": "string (required, snake_case)",
  "description": "string (required)",
  "method": "get|post|put|delete|patch (required)",
  "url": "string (required, URI format)",
  "content-type": "string (required)",
  "headers": {
    "Header-Name": "header-value"
  },
  "parameters": [
    {
      "name": "string (required)",
      "type": "string|number|boolean (required)",
      "required": "boolean (required)",
      "location": "path|query|body|headers (required)",
      "description": "string (required)"
    }
  ],
  "body": [
    {
      "content-type": "string",
      "data": "string or object"
    }
  ]
}

Supported HTTP Methods

MethodUse Case
GETRetrieve data
POSTCreate resources, send data
PUTUpdate/replace resources
PATCHPartial updates
DELETERemove resources

Next Steps