Omniscope Custom Blocks › Connectors/Trello

Trello

Loads Trello boards, lists, cards, checklists and checklist items, and searches cards, with labels, members and due dates as fields.

Connectors Python

Open the demo in Omniscope Download demo.ioz Sample data: placeholder.csv Source on GitHub

Omniscope custom block · Connectors

How many cards sit in each list, which are overdue, and how far are their checklists? A Trello board as records, with labels, due dates and list names, refreshed on every run.

Python · requests, pandas · requests installed on first run if missing

The problem it solves

A Trello board shows where each card is today, but not how many cards each stage holds across several boards, which due dates have passed, or how that changes week to week. Copying cards into a spreadsheet by hand is out of date by the next stand-up.

This block reads a board's lists and cards (or a workspace's boards, a card's checklists, a search) and writes one record per card with its list name, labels, due date and checklist progress.

How it works

What goes in

Nothing from the workflow: the block reads from Trello. The demo uses invented responses for a content calendar board of a garden supplies wholesaler, so it runs without a Trello account; sample-data/placeholder.csv holds the Cards output for them.

The options

Option Demo setting What it does
API Key, API Token (empty) From a Trello Power-Up's API key page.
Workspace id (boards) (empty) Loads the workspace's boards.
Board id (lists and cards) the board's short code Loads the lists and every open card on the board, with list names.
List id (cards of one list) (empty) Loads one list's cards instead of the whole board's.
Card id, Checklist id (empty) Load a card's checklists, or a checklist's items.
Search cards (empty) Finds up to 1,000 cards by text, in Trello's search syntax.

What comes out

Cards (selected, some fields)

name listName labels due dueComplete checkItems checkItemsChecked
Spring product update post Published Blog 2025-03-04 09:00 true 4 4
Customer story: Fernhill Garden Centre Published Blog, Social 2025-03-11 09:00 true 0 0
Webinar follow-up e-mail Scheduled Newsletter, Webinar 2025-04-03 09:00 false 4 2
Price list refresh announcement Writing Blog, red 2025-04-14 09:00 false 0 0
Trade show stand photos Writing Social false 0 0
Refresh the FAQ page To plan false 0 0

16 records in all. "red" is a label with a colour but no name. Cards with no due date have an empty due.

Cards per list

listName Cards
To plan 5
Writing 4
Published 3
Design 2
Scheduled 2

Where it pays off

Marketing teams: Content pipeline

Count posts, newsletters and webinars per stage and label, and list the pieces whose publication date has passed.

Recruitment: Candidate stages

On a board with one list per hiring stage, see how many candidates each stage holds and how long cards have been inactive.

Small projects: Checklist progress

Use the checklist counts to show how complete each card is, and which cards have unchecked items close to their due date.

Several boards: One view

Load the boards of a workspace, then each board's cards, and append them for a single report across teams.

Use cases describe typical scenarios and are illustrative; the sample data is invented.

Why do this in Omniscope

How it fits into an Omniscope workflow

Trello (Cards) → Formula (Overdue: due before today and not dueComplete) → Aggregate (per listName and label) → Report

Join the Lists output on idList for list positions (pos) to sort the lists in board order.

Try it

  1. Open the demo project (demo.iox on the demo server, or import demo.ioz from this folder). It holds the Trello block, unconfigured, and a File block with placeholder.csv, the 16 cards the block writes for the sample board.
  2. The question: how many cards are in each list, and which are overdue?
  3. Follow the File block into the rest of the workflow: cards per list (5, 4, 3, 2, 2), and the cards whose due date has passed and are not complete.
  4. To use your own board: enter an API key, token and a board id in the Trello block, run it, and connect its Cards output where the File block was.

Running in Omniscope

Omniscope workflow
Omniscope workflow

The demo project's workflow: the placeholder data, the block, and a Validate data check on the output.

Language and libraries

Python. It uses requests (Apache License 2.0) and pandas (BSD 3-Clause).

pandas is part of Omniscope's Python environment. requests is listed in the block's dependencies, so Omniscope installs it with pip on first run if it is missing.

Tested

The block is covered by automated tests that run its script against a stand-in for Omniscope's Python API and invented Trello responses (no live calls): a board's lists and cards, every output at once, the key and token sent in a header, an encoded search, the fields asked for, empty options, an empty board, a refused key, an unknown id, nothing chosen, and a board of 20,000 cards.

Reference

Options

NameTypeWhat it does
API KeyPasswordThe API key of a Trello Power-Up: create one at https://trello.com/power-ups/admin, then open its API key page.
API TokenPasswordA token generated from the API key's page (the Token link). The block sees what this token's account can see.
Workspace id (boards)TextLoad the workspace's boards. The id or short name from the workspace address, https://trello.com/w/your-workspace.
Board id (lists and cards)TextLoad the board's lists and, unless a list id is set, all its open cards. The id, or the short code from the board address (https://trello.com/b/AbCd1234).
List id (cards of one list)TextLoad only the open cards of this list into Cards. A list's id is in the board's .json address.
Card id (checklists)TextLoad the card's checklists, with how many items each has and how many are complete. The id, or the short code from the card address.
Checklist id (items)TextLoad the checklist's items with their state (complete or incomplete).
Search cardsTextFind cards by text across the boards the token can see (Trello's search syntax, such as label:Blog or due:week). Up to 1,000 cards.

Outputs

OutputWhat it holds
BoardsThe workspace's boards (Workspace id)
ListsThe board's lists (Board id)
CardsCards of the list, or of the whole board, with the list name, labels, members, due dates and checklist counts
ChecklistsThe card's checklists, with item counts (Card id)
ItemsThe checklist's items and their state (Checklist id)
Search resultsCards matching the search