Group customer locations into workable territories
Let new customer locations feed a clustering request that helps you organize visits and responsibilities around geography.
Trigger
New Page
Triggers when a new page is added to a Notion database.
Action
Capacity Clustering
Tool to solve capacity clustering problem. Use when assigning a set of customers to clusters to minimize total distance synchronously.
Why this helps
Manually grouping customers into territories adds another planning task to an already full founder workload.
- Organize locations into practical geographic clusters.
- Reduce manual territory sorting.
- Make capacity planning easier to revisit as customers are added.
Setup
Build it in a few focused steps.
- 1Connect Notion and GraphHopper to Notis once in the portal.
- 2Create an automation in the portal or ask Notis to cluster customer locations when a new customer is added.
- 3In one instruction, describe the location set and the capacity or distance goal for the clusters.
- 4Choose the New Page trigger for the customer data source and select a report channel.
- 5Test with a small set of real customer locations and review the cluster result.
Questions about this workflow
What problem does capacity clustering solve?
It assigns a set of customers to clusters while minimizing total distance synchronously.
Should I trigger it after every single customer?
That depends on the workflow. A new customer event can prompt a refreshed request, but a useful cluster generally needs a meaningful set of locations.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Notion to Graphhopper. A trigger fires from one place; an action lands in another.
Notion triggers
Graphhopper actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Capacity Clustering
Tool to solve capacity clustering problem. Use when assigning a set of customers to clusters to minimize total distance synchronously.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
GraphHopper Geocoding
Tool to perform forward or reverse geocoding. Use when converting between textual addresses and latitude/longitude coordinates.
All Page Events
Triggers when any Notion page is created or updated across the workspace.
Get Isochrone
Tool to compute isochrone polygons for a given point. Use when you need to determine areas reachable within time or distance constraints.
Comment Created
Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.
Calculate Matrix
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.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
Get Custom Profiles
Tool to retrieve a list of all user-defined routing profiles. Use when you need to list custom profiles.
Database Created
Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.
POST Route
Tool to calculate complex routes via POST /route. Use when you need advanced route planning with custom parameters.
Data Source Created
Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.
Upload GPX File
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.
Data Source Schema Updated
Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.
GraphHopper VRP POST
Tool to initiate VRP optimization. Use when you need to solve vehicle routing problems synchronously.
Connect any two apps with Notis in the middle.
Notion and Graphhopper, or any other combination from 1,000+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Graphhopper.