Kanboard smart home integration, free and open source

Kanboard tasks: open, due today and overdue, closed or created from a scene or the dashboard.
Bring the tasks of your Kanboard into Gladys: what is left to do today, what is overdue, the next task of each project. A scene reacts when a task falls due or is still open at midnight, another one adds "buy bread, tomorrow" from a button, a tap on the dashboard closes a task, and Gladys can read out the tasks of the day every morning.
Feedback welcome. This integration was tested against a real Kanboard server (Docker image
kanboard/kanboardv1.2.56, October 2026), not yet in everyday use. If something does not work as described, please say so on the Gladys forum or in the issues.
What you need
- Gladys Assistant 5.1.0 or later.
- A self-hosted Kanboard (1.2 or later), reachable from Gladys (the Docker image listens on port 80).
- Credentials for its API, one of the two:
- the application API token: in Kanboard, Settings → API, copy
the API token, with the username
jsonrpc. It sees every project of the instance (private ones included) and needs an administrator to read it; - a user account: its username, and its password or a personal access token (My profile → API; required when two-factor authentication is on). It sees the projects this user is a member of, and acts as this user.
- the application API token: in Kanboard, Settings → API, copy
the API token, with the username
Set up
- In Gladys, Integrations → install Kanboard.
- In the Configuration screen, fill in:
- Address: the address of Kanboard, for example
http://192.168.1.20:8080, orhttps://kanboard.example.org/kanboardwhen it lives in a sub-folder (the address copied from a board works too); - Username:
jsonrpc(the default) for the application API token, or your Kanboard username; - API token or password: the matching secret.
- Address: the address of Kanboard, for example
- Options:
- Followed projects: names or numbers separated by commas (
Home, 3). Empty: every project. Inactive (closed) projects are never followed; - Accept self-signed certificates: for an
https://address with a self-signed certificate, on your own server only; - Refresh interval: 1 to 10 minutes (5 by default). Due times and midnight are always followed on time, whatever the interval;
- Language of the feature names: the names given to the features when a device is added (French by default), and the texts sent to scenes.
- Followed projects: names or numbers separated by commas (
- Save, then Test the connection: it reads Kanboard and gives its version, the number of open tasks and of followed projects.
- In the Discovery tab, add the devices you want.
Devices
Kanboard (every followed project together) and Kanboard project for each followed project. Each one has four features:
| Feature | What it says |
|---|---|
Open tasks | open tasks, with or without a due date |
Tasks to do today | open tasks due before midnight, overdue ones included: what is left by tonight |
Overdue tasks | open tasks whose due date and time have passed |
Next task | the title of the open task with the earliest due time still ahead; None if not |
"Today" is the day in the time zone of Gladys. In Kanboard a due date always has a time: a date picked without one gets the time of the moment you saved it.
Dashboard
The Today's tasks widget shows two tiles (to do today, overdue), the list of the tasks of the day, overdue first, with their time (in orange for the highest priority of the project) and their project, and a button for each of the four most urgent: a tap closes the task. Choose a project device in the widget settings to see only its tasks; leave it empty for every followed project. When nothing is left, the widget says so and gives the next task.
The counters can also go on the dashboard as any device feature.
Scenes
Triggers
- Kanboard task due: an open task reached its due time.
- Kanboard task overdue: at midnight, a task due that day is still open. Once per task and due date.
Filters, for both: the project (a project device: the Kanboard device filters nothing, leave the field empty for every project), the task title (exact, case and accents included, unlike the actions). Information passed on to the actions: the task, its number, its project, its priority (0 to 3 by default, set per project in Kanboard), its due date.
A task closed before its due time fires nothing. A due date moved by hand to a moment before the previous reading fires nothing either: only the moments that pass while the integration runs count. A restart does not fire anything twice; a moment that passed while the integration was stopped fires when it starts again, if it is less than an hour old.
Actions
- Close a Kanboard task: give the exact title (case and accents
ignored) or the number of the task (
#12, shown on the card in Kanboard). Any open task the credentials see, followed project or not. A task that repeats "when the task is closed" leaves its next occurrence, as in Kanboard. Results: the task, its number, its project, the due date of the next occurrence. - Create a Kanboard task: a title, the project by name or number (empty:
the first followed project, by name), and an optional due date:
2026-10-25 18:00,25/10/2026,today,tomorrow 9:00,+3(in three days), or a time alone for today; without a time, 18:00 (23:59 when 18:00 has passed). The words also work in French, German and Spanish (demain,morgen,mañana). The date is read in the time zone of Gladys, whatever the one of Kanboard. Results: the task, its number, its project, its due date. - Read today's Kanboard tasks: the tasks of the day as a sentence
(
5 task(s) to do today: …. 2 overdue.), for every followed project or one of them. Results: the sentence, the number of tasks to do today, of overdue tasks. Send the sentence in a message, or have Gladys say it.
The fields accept scene variables: {{triggerEvent.data.task_id}} closes the
task that triggered the scene.
Scene ideas
- At 7:30, Read today's Kanboard tasks, then send the sentence on Telegram.
- Kanboard task due on the
Homeproject: flash the hallway light. - A button by the door runs Create a Kanboard task with
Buy breadinShopping, duetomorrow 9:00. - An NFC tag on the bins runs Close a Kanboard task with
Take out the bins.
Troubleshooting
- "Kanboard does not answer": check the address and the port from the Gladys machine (the address opens Kanboard in a browser).
- "Username, token or password refused": with
jsonrpc, copy the token of Settings → API again (it changes when regenerated); with a user, check the password, or use a personal access token if two-factor authentication is on. Kanboard locks an account after several failures. - "Access forbidden to this user": the user may not read one of the
projects or call a procedure. An application token works only with the
username
jsonrpc: with another one it is refused like a wrong password. - "No Kanboard API at this address": the address answers, but not with the Kanboard API: check the port and the sub-folder.
- "The address redirects": enter the
https://address. - A project is missing: inactive projects are not followed; with a user account, only its projects are seen; a name typed in Followed projects that matches no project is ignored, and Test the connection lists it.
- "Several open tasks have this title": give the number (
#12) instead. - Logs:
LOG_LEVEL=debugon the container shows every reading.
Limits
- Kanboard is read every 1 to 10 minutes (and at each due time and at midnight): a task closed in Kanboard shows up in Gladys within that delay. Kanboard webhooks are not used.
- Two requests per reading: the projects, then the open tasks of every followed project in one JSON-RPC batch.
- The integration closes tasks and creates tasks; it does not edit, move, assign or delete them. Subtasks are not counted.
- Tested with Kanboard v1.2.56, with the application token and with a user account.
- Gladys keeps no Kanboard data beyond
/data/kanboard-state.json(the time of the last reading, so that no event fires twice). - Not affiliated with Kanboard.
Configuration settings
These are the settings Kanboard asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Your Kanboard | section | No | A self-hosted Kanboard (1.2 or later). Use the application API token (Settings, API) with the user jsonrpc, or your own username and password or personal token. |
| Address | string | Yes | Address of Kanboard, with https:// for HTTPS, :port if not the default and the sub-folder if any (/kanboard). |
| Username | string | Yes | jsonrpc for the application API token (every project), or your Kanboard username (your projects). |
| API token or password | secret | Yes | With jsonrpc: the token of Settings, API. With a username: its password or personal token (My profile, API). |
| Options | section | No | |
| Followed projects | string | No | Names or numbers separated by commas. Empty: every project. One device per followed project. |
| Accept self-signed certificates | boolean | No | For an https:// address whose certificate is self-signed. Tick only for your own server. |
| Refresh interval | select | No | How often Kanboard is read. Due times and midnight are always followed on time. |
| Language of the feature names | select | No | Names given to the features when a device is added, and texts sent to scenes. |
How to install Kanboard in Gladys
- In Gladys, open Integrations: Kanboard appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-kanboard:1.0.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-kanboard.
Kanboard requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Kanboard is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation