Graphhopper

Learn how to use Graphhopper with Composio

Overview

SLUG: GRAPHHOPPER

Description

GraphHopper Directions API provides enterprise-grade routing services, including route planning, optimization, geocoding, and more, for various vehicle types.

Authentication Details

generic_key
stringRequired

Connecting to Graphhopper

Create an auth config

Use the dashboard to create an auth config for the Graphhopper toolkit. This allows you to connect multiple Graphhopper accounts to Composio for agents to use.

1

Select App

Navigate to Graphhopper.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Graphhopper Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4graphhopper_auth_config_id = "ac_YOUR_GRAPHHOPPER_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Graphhopper for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, graphhopper_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Graphhopper toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["GRAPHHOPPER"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Capacity Clustering

Description

Tool to solve capacity clustering problem. Use when assigning a set of customers to clusters to minimize total distance synchronously.

Action Parameters

clusters
array
configuration
objectRequired
customers
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: GraphHopper Geocoding

Description

Tool to perform forward or reverse geocoding. Use when converting between textual addresses and latitude/longitude coordinates.

Action Parameters

autocomplete
boolean
bbox
string
bounds
string
countrycode
string
debug
boolean
key
stringRequired
limit
integerDefaults to 5
locale
stringDefaults to en
location_bias_scale
number
osm_tag
array
point
string
provider
string
q
string
radius
number
reverse
boolean
zoom
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Isochrone

Description

Tool to compute isochrone polygons for a given point. Use when you need to determine areas reachable within time or distance constraints.

Action Parameters

buckets
integer
distance_limit
integer
point
stringRequired
profile
string
reverse_flow
boolean
time_limit
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Calculate Matrix

Description

Tool to calculate distance, time, or weight matrices via POST. Use when you have multiple origins/destinations or a symmetric point set and need a single batch request.

Action Parameters

curbsides
array
fail_fast
booleanDefaults to True
from_curbsides
array
from_point_hints
array
from_points
array
out_arrays
arrayRequired
point_hints
array
points
array
profile
stringRequired
snap_preventions
array
to_curbsides
array
to_point_hints
array
to_points
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Custom Profiles

Description

Tool to retrieve a list of all user-defined routing profiles. Use when you need to list custom profiles.

Action Parameters

key
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: POST Route

Description

Tool to calculate complex routes via POST /route. Use when you need advanced route planning with custom parameters.

Action Parameters

algorithm
string
alternative_route
object
calc_points
booleanDefaults to True
ch.disable
boolean
curbsides
array
custom_model
object
debug
boolean
details
array
elevation
boolean
heading_penalty
integerDefaults to 300
headings
array
instructions
booleanDefaults to True
locale
stringDefaults to en
optimize
boolean
pass_through
boolean
point_hints
array
points
arrayRequired
points_encoded
booleanDefaults to True
profile
stringRequired
round_trip
object
snap_preventions
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload GPX File

Description

Tool to upload a GPX file to a public file hosting endpoint. Returns a public URL which can be used where a 's3key' is required.

Action Parameters

file
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: GraphHopper VRP POST

Description

Tool to initiate VRP optimization. Use when you need to solve vehicle routing problems synchronously.

Action Parameters

algorithm
object
configuration
object
cost_matrices
array
objectives
array
relations
array
services
array
shipments
array
vehicle_types
array
vehicles
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired