# Build meeting agendas from your live Dart project board

> Every weekday morning we check your calendar for project meetings and write each one a focused agenda from what is actually happening in Dart.

- Workflow type: agent
- Services: Dart, Google Calendar, Slack Bot
- Categories: Operations
- Published: 2026-08-14

## What it does

- Checks your calendar each weekday morning for recurring project, standup, and status meetings happening that day
- Matches each meeting to its project board in Dart and reads what got finished, what is due this week, what is already late, and what is stuck or has nobody on it
- Writes a short agenda into Dart as a doc, organised into decisions needed, at-risk items, and a quick progress recap
- Posts the doc link and a three bullet preview into the meeting's Slack channel so attendees can prep before they join

## What you'll need

- A Dart workspace with your projects organised into boards
- A Google Calendar account holding your recurring team meetings
- A Slack workspace where the assistant can post into your project channels
- Meeting names that roughly resemble your Dart board names, so the two can be paired up confidently

## Prompt

Every weekday at 7:30am, prepare meeting agendas for the recurring project meetings I have that day, building each one from the live state of the matching project in Dart. Handle the whole day's meetings in a single pass.

Start with Google Calendar's List Events on my primary calendar, bounded to today in my local timezone. Set singleEvents to true so recurring series expand into individual instances, otherwise recurring meetings will not come back as today's events at all. Keep only meetings that look like recurring project, standup, sync, or status meetings, judging from the event title and its recurrence.

Skip two kinds of meeting entirely. Skip one to one meetings, which you can spot from having two attendees or fewer including me. Skip external calls, which you can spot when any attendee's email domain differs from my own organisation's domain. Do not write agendas for either.

For each remaining meeting, match it to a Dart dartboard by name similarity between the event title and the board name. Be strict about this. If no board is a confident match, skip that meeting and move on rather than guessing, and note the skip in your final summary. A wrong agenda is worse than no agenda.

Before reading any tasks, call Dart's Get User Space Configuration once to resolve the workspace's real dartboard names, status names, assignees, and priorities. Valid values vary per workspace, so use what this returns rather than assuming names like Done or In Progress exist.

Then use Dart's List Tasks against the matched dartboard, filtering server side by status, assignee, and dates rather than pulling the whole board and filtering afterwards. These list endpoints paginate with limit and offset and return a count, next, previous, results envelope, so page only as far as you need. The API returns 429 when rate limited, so keep the number of calls modest and back off if you hit it.

Gather four things for each project: tasks completed since this meeting last occurred, tasks due this week, tasks already overdue, and tasks that are blocked or sitting unassigned. To find when the meeting last occurred, look back over the previous 30 days of calendar events for the earlier instance of the same recurring series and use that instance's start time as the cutoff. If you cannot determine it, fall back to the last 7 days.

Write the agenda into Dart with Create Doc, titled with the meeting name and today's date, and place it sensibly in the workspace. Structure it as three sections: decisions needed, at-risk items, and a short progress recap. Keep it to the handful of things genuinely worth discussing as a group. Do not dump the entire board into the doc, and leave out anything that is simply proceeding normally. Note that Dart offers no way to read logged time, so keep the recap to task counts, statuses, and due dates, and never state hours spent or burn rate.

Finally, post to the meeting's Slack channel using Slack Bot's Send a Message, with the link to the Dart doc plus a three bullet preview of the most important items, so attendees can prep before they join. Match the meeting to its channel by name similarity, and if there is no obvious channel, post to a designated fallback channel and say which meeting the agenda belongs to.

Do not modify the calendar events themselves. Google Calendar's update operation is a full replace that clears any writable field not resent, so treat the calendar strictly as a read source and let Dart and Slack carry the output. Finish with a brief summary of which meetings got agendas and which were skipped and why.

## How to customize

- Change the 7:30am run time, the timezone, or which days it runs
- Adjust which meetings qualify by keyword, attendee count, or whether outside guests are invited
- Reshape the agenda sections, or change how many items are allowed through before it stops adding more
- Choose how each meeting maps to a Slack channel, and set a fallback channel for anything unmatched

## FAQ

### What happens if a meeting does not match any project in Dart?

It gets skipped. The assistant only writes an agenda when it is confident a meeting lines up with a specific board, because a confidently wrong agenda is worse than none. Renaming a meeting or a board so the two resemble each other is usually enough to pair them up.

### Will it write agendas for my one to one meetings?

No. One to ones are skipped, and so is anything that looks like an external call, such as a meeting with guests from outside your company. It only handles recurring internal project, standup, and status meetings.

### Does it dump my entire task board into the agenda?

No, and that is the point. It deliberately keeps to the handful of items genuinely worth the group's time: things needing a decision, things at risk, and a short recap of progress since the last time the meeting ran. A full board export is something nobody reads.

### Can I edit the agenda before the meeting starts?

Yes. The agenda is saved as a normal doc in Dart, so anyone on the team can open it, edit it, or add their own items ahead of the meeting.

### Does it change anything on my calendar invites?

No. It only reads your calendar to see which meetings are happening that day. Your invites, guest lists, and descriptions are left exactly as they are, and the agenda is delivered through Dart and Slack instead.

Use this prompt in General Input: https://www.generalinput.com/prompts/build-meeting-agendas-from-your-live-dart-project-board