Skip to main content

Overview

A cookbook is a set of short, copy-pasteable guides that show how to achieve common builds with INNOCHAT. Create an INNOCHAT chatbot that answers with real Swiss tourism data via six list endpoints: searchDestinations, searchAttractions, searchOffers, searchTours, forwardGeocode, and backwardGeocode. The agent chooses the right call based on the user’s intent and never fabricates results.
Because we are using function calls for live data, skip the Knowledge section (no trained sources needed).

What you’ll build

  • Agent name: Swiss Tourism Agent
  • Maps user requests to one of four API functions.
  • Applies optional filters (query, bbox/region, geo distance, facets, pagination, language).
  • Responds in friendly human text (no raw JSON in replies)

Prerequisites

  • INNOCHAT workspace with permission to create chatbots & agents
  • The six list endpoints exposed as callable functions (or connectors)
    • searchDestinations
    • searchAttractions
    • searchOffers
    • searchTours
    • forwardGeocode
    • backwardGeocode
  • Basic familiarity with request parameters (text query, region filters, pagination, language)
  • Geocoding API key

Quick architecture

Step-1: Create or Edit a Customer Support Agent

Agent Name: Swiss Tourism Agent Description: Customer Support - Provides real-time Swiss tourism recommendations by querying official APIs for destinations, attractions, offers, and tours. Automatically converts place names to coordinates for location-based searches. Users can search by location (with radius), theme, season, activity type, or trip style. Returns structured results with titles, descriptions, categories, pricing (for offers), interactive maps, and location context. Supports both free-text and faceted filtering for precise discovery.
Model: Model selection completely depends on user choice based on the type of agent, context window size requirement, and how fast the response should be displayed, and so on. Opt for GPT-4-mini or GPT-4-nano for faster responses. Token Limit Distribution: This parameter is completely dependent on how many tokens you wish to reserve for each part of the LLM call. The overall token limit depends on the LLM you picked, but you can fine tune the token distribution based on your particular use case.
Prompt:
Temperature: A parameter that controls the randomness or creativity of a large language model’s output by adjusting the probability of selecting the next word. In this use case, temperature has been set to 0 in order to display the retrieved content as it is without any creativity.

Step 2: Knowledge

Since it’s a basic agent creation with single LLM call, we can skip the Knowledge section and also uncheck the all sources parameter.

Step 3: Add the Function Calls

Function call - 1: searchDestinations

Function Name: searchDestinations Description: Search Switzerland destinations with text, geo and facet filters; localized results, partial fields by default.
API Endpoint: https://opendata.myswitzerland.io/v1/destinations/ Method: GET
Headers:
Parameters:

Function call - 2: searchAttractions

Function Name: searchAttractions Description: Search attractions (POIs, museums, guided events, etc.) with text, geo and facet filters; localized.
API Endpoint: https://opendata.myswitzerland.io/v1/attractions/ Method: GET
Headers:
Parameters:

Function call - 3: searchOffers

Function Name: searchOffers Description: Search tourism offers (e.g., deals/packages/tickets) using text; localized.
API Endpoint: https://opendata.myswitzerland.io/v1/offers/ Method: GET
Headers:
Parameters:

Function call - 4: searchTours

Function Name: searchTours Description: Search Swiss tours or itineraries (e.g., hikes, bike routes) with filters and facets.
API Endpoint: https://opendata.myswitzerland.io/v1/tours/ Method: GET
Headers:
Parameters:

Function call - 5: reverseGeocode

Function Name: reverseGeocode Description: Reverse geocode coordinates into a human-readable place label.
API Endpoint: https://geocode.maps.co/reverse?lat=example&lon=example&api_key=YOUR_API_KEY Method: GET
Headers:
Parameters:

Function call - 6: forwardGeocode

Function Name: forwardGeocode Description: Resolve a place name to geographic coordinates and a display label.
API Endpoint: https://geocode.maps.co/search?q=address&api_key=YOUR_API_KEY Method: GET
Headers:
Parameters:

Example

Summary