How will you proceed?

Log in with existing user (municipality or organization) Create user or log in to open solution
Contact us
Back to Blog

Build your own "Waste assistant"

Promte AI platform - Build your own "Waste assistant"

This is how the municipality does it in less than a week

A chatbot that can answer in one second 🗑️ “When will my trash be emptied?” and ♻️ “Where is the pizza tray going?” can eliminate many telephone and email inquiries that today end up at the waste office. Below you will find a step-by-step guide to setting one BR18-chatbot-similar solution up to waste management and collection times based on the APIs and open datasets most Danish municipalities already use.

1. Find the right data sources

DataSourceExample
Empty calendar / ICS feedMost municipalities have one My Waste-/RenoWeb link, where the citizen can download an iCalendar file by address. 
REST/JSON-endpointsSome companies (e.g. KLAR, Sonfor) deliver JSON with containers + next date. (klarforsyning.dk, sonfor.dk)KLAR Supply, Sonfor
Sorting guideThe municipality's sorting portal or AffaldsApp database (barcode → fraction). (affald.kk.dk, stevns.dk)Copenhagen and Stevn Municipality
National overviewborger.dk "Waste arrangements" links to all municipal self-service sites. (borger.dk, borger.dk) 

Tip: If you only have ICS files, but no JSON API, Promte can parse calendars "on the fly" and return the next date as structured JSON.

2. Define two core functions

Function nameWhat the input should beWhat the output should be
nextPickup(dateType, address)dateType = leftovers/food, paper/cardboard, glass/metal ... ; address = road + no.{ "næsteDato": "2025-07-22", "beholder": "mad+rest" }
sortItem(itemName)itemName = “pizza tray”{ "fraktion": "papir/pap", "skalSkraldesClean": false }

These two "function calls" can be built as webhook endpoints in Promte that retrieve calendar or barcode data and return easy-to-read JSON.

3. Train the assistant itself

  1. Persona and instructions

    Du er AffaldsAssistenten for {{Kommune}}. 
    - Brug funktionen nextPickup når borgeren spørger om tømmedatoer. 
    - Brug funktionen sortItem til sorteringsspørgsmål.
    Svar altid på dansk.
    
  2. 10-15 examples on questions and answers that can be used for testing:
    User: "When will you pick up the glass container at Østergade 12?"
    Assistant: <call nextPickup {"dateType":"glas","address":"Østergade 12"}>

  3. Context knowledge
    Put PDFs/HTML about local opening times at recycling sites in Promte, so that they can be picked up when the citizen asks about "recycling station on Saturday?".

4. Build in reminders & self-service

  • SMS before collection – the webhook can call the municipality's existing message service. (borger.dk)

  • Storskrald-bestilling - link directly to RenoWeb/"Mit Affald" self-service (attach address parameter). (affaldplus.dk)

5. Testing & compliance

PointCheck
Personal dataNo CPR or sensitive data → typical no full DPIA required (address only).

6. Roll out in two days

  1. Day 1 morning: Import ICS parser webhook + sorting database.

  2. Day 1 afternoon: Test and adjust the model with 15 examples; test at three addresses.

  3. Day 2: Embed widget on the “Waste & Recycling” page; inform citizens via SMS service.

Why use Promte?

  • Completed webhook template for calendar parser (saves development time).

  • EU hosted & on-prem option = message content and output will be in Denmark.

  • version control, when waste fractions change, you can roll out a new model with a click.

  • One interface: same platform as e.g. your Children's Law and BR18 assistants; no additional training.

Ready to cut citizen inquiries?

"Why stand in a telephone queue when the waste assistant already knows when the garbage truck will come?"

Back to Blog
Cookie Settings
This website uses cookies

Cookie Settings

We use cookies to improve user experience. Choose what cookie categories you allow us to use. You can read more about our Cookie Policy by clicking on Cookie Policy below.

These cookies enable strictly necessary cookies for security, language support and verification of identity. These cookies cannot be disabled.

These cookies collect data to remember choices users make to improve and give a better user experience. Disabling can cause some parts of the site to not work properly.

These cookies help us to understand how visitors interact with our website, help us measure and analyze traffic to improve our service.

These cookies help us to better deliver marketing content and customized ads.