Writing a Weave meeting pattern (v3)
Write a meeting plan as a plain text file. Each round of the meeting is a top-level `#` heading that sets the room — one room together, going round the room, or splitting into breakouts. Inside a round, each `##` heading is a prompt. Whatever you write under the `#` and before the first `##` is shown as a short intro before the round begins.
Version 3 of the format is locked in — any file you write today will keep working as Weave grows. New features will arrive as new versions, side-by-side.
What goes in a pattern
The header at the top
Every pattern starts with a small header between two lines of three dashes (---). It tells Weave the format version and, optionally, a title and a one-line description.
What it looks like
---
weave-script-version: 3
title: Strategy offsite
--- Examples
---
weave-script-version: 3
---
## Welcome
A valid pattern: one single-room prompt, no rounds needed.
Good to know
- The
weave-script-versionline is required, and for this format it must be the number3. titleanddescriptionare optional but recommended.- You can add any other labels you like — Weave keeps them with the pattern.
Letting the meeting advance itself (`autoplay`)
Add autoplay: true to the header to let the meeting move itself along. When a phase’s timer runs out Weave moves to the next phase on its own, and breakout rooms open and close automatically at the edges of a breakout round. Leave it off and the host drives every step — including opening and closing the rooms — by hand.
What it looks like
---
weave-script-version: 3
autoplay: true
--- Examples
autoplay: true Timed phases roll on, and breakout rooms open/close on their own.
autoplay: false The host moves each phase along, and opens/closes the rooms, by hand.
Good to know
- Only the exact word
true(lowercase) turns this on. Leaving it off is the same asfalse. - Automatic opening and closing of breakout rooms only happens when autoplay is on.
A round of the meeting (`#`)
A top-level # heading starts a round. The round sets the room for everything inside it: one room together, going round the room, or splitting into breakouts. Put those settings in a quote block right under the # heading. The prompts of the round are ## headings below it.
What it looks like
# Deep dive
> breakouts: 3 rooms
> round-robin: false Examples
# Deep dive
> breakouts: 3 rooms
We’ll work in small groups.
## What excites you?
> duration: 8m A round that opens three breakout rooms, with one prompt shown inside them.
Good to know
breakouts:andround-robin:belong on the#heading — they describe the whole round, not a single prompt.- A round with no
breakouts:and noround-robin:is just a single-room round. - You do not need a
#at all:##prompts written before any#are a single-room round on their own. - Once a round has started, every
##below it belongs to that round until the next#.
The round’s intro (preface)
Whatever you write under a # heading and before its first ## prompt is the round’s preface — a short framing phase shown in the main room before the round begins. For a breakout round Weave leads with “We’ll now go into breakout rooms.”; for a round-the-room round it leads with “Now we’ll go around the room, inviting each person to share.”; for a plain single-room round it just shows your words.
What it looks like
# Deep dive
> breakouts: 3 rooms
We’ll work in small groups for the next two questions. Examples
# Check-in
> round-robin: true
Let’s hear from everyone.
## How are you arriving?
> duration: 30s A round-the-room round whose preface frames the check-in before each person takes a turn.
Good to know
duration:on the#heading times the preface.- A breakout or round-the-room round always shows its preface (the lead-in sentence is enough on its own). A plain single-room round with no intro text and no timer shows nothing before its prompts.
- A breakout or round-the-room round must have at least one
##prompt.
Going round the room (`round-robin`)
Add round-robin: true to a # heading when the round should go person by person, each person taking a turn through the round’s prompts. It works in a single room or inside breakout rooms.
What it looks like
# Hopes and fears
> round-robin: true Examples
> round-robin: true Each person takes a turn, working through the round’s prompts.
> round-robin: false The whole group does the round together. Leaving the line off does the same.
Good to know
round-robingoes on the#round heading, not on a##prompt — it describes the whole round.- Only
trueorfalseare accepted, so a typo is caught rather than silently ignored. - A round can be both
round-robin: trueand a breakout — inside each room, people take turns through the prompts.
Splitting a round into breakouts (`breakouts`)
Add breakouts: to a # heading to run the whole round in smaller groups. Say how many rooms you want, or how many people belong in each room. The rooms open when the round’s prompts begin and stay open across every prompt in the round; they close when the round ends.
What it looks like
# Small groups
> breakouts: 3 rooms
# Pairs
> breakouts: 2 per room Examples
# Deep dive
> breakouts: 3 rooms
## What excites you?
> duration: 8m
## What worries you?
> duration: 7m Three rooms open once and stay open for both prompts, then close at the end of the round.
Good to know
breakouts:belongs on the#round heading, never on a##prompt — the rooms are a property of the whole round.- Use
room/roomsfor a fixed count, orper roomfor a target size. Other words are not accepted. - Who goes into which room is decided live in the meeting, not in the file.
- Sixty seconds before a breakout round ends, everyone is warned that the rooms are about to close.
Keeping people together across rounds (`stay-together`)
Add stay-together: true to a # breakout round to try to keep participants who were together in the previous breakout round together again. When the new rooms are the same size, prior groups carry over; when they are larger (say pairs becoming foursomes), whole prior groups are merged rather than scattered. Leave it off and each breakout round reshuffles freshly.
What it looks like
# In foursomes
> breakouts: 4 per room
> stay-together: true Examples
# In pairs
> breakouts: 2 per room
## Talk it through
> duration: 3m
# In foursomes
> breakouts: 4 per room
> stay-together: true
## Compare notes
> duration: 5m The foursomes are built by joining whole pairs from the previous round, so nobody loses the partner they just worked with.
Good to know
stay-togethergoes on the#breakout round heading, not on a##prompt.- Only
trueorfalseare accepted, so a typo is caught rather than silently ignored. - It only affects breakout rounds; on a single-room or round-the-room round it has nothing to keep together.
- It is best-effort: newcomers who join between rounds, and remainders that do not divide evenly, are placed wherever there is room.
A prompt inside a round (`##`)
Each ## heading is a prompt within the current round. The prompt’s name is the heading; whatever you write under it is what people see while the prompt is up. Put a duration: in a quote block under the ## to give the prompt a timer.
What it looks like
## What worries you?
> duration: 7m Examples
## One word for how you’re arriving
> duration: 30s
Just a word or two. A 30-second prompt with a short instruction in its body.
Good to know
- A
##prompt may set its ownduration:, but notbreakouts:orround-robin:— those belong on the#round. - Deeper headings (
###and beyond) are ordinary text inside a prompt’s body, not new prompts.
Speaker and listener parts of a prompt (`speaker:` / `listener:`)
Inside a round-robin: true round, a single ## prompt can speak to both sides of the turn at once. In the prompt’s body, start a line with speaker: for what the person whose turn it is should do, and a line with listener: for what everyone listening should do. Both people see both parts — the part for your role is shown full size, and the other part appears smaller beneath it. Any text before these lines is shared and shown to everyone.
What it looks like
## Share
speaker: Share a difficult emotion from the last 24 hours.
listener: Simply listen — don’t respond, reflect, or advise. Examples
# Dyad
> round-robin: true
## Share
> duration: 150s
speaker: Share a difficult emotion, and how it felt in the body.
listener: Simply listen. Don’t respond, reflect, or advise. The person speaking sees the speaker line full size with the listener line small beneath it; everyone listening sees the reverse.
Good to know
speaker:andlistener:go in the prompt’s body, not the heading, and belong to the same prompt — they are two halves of one turn, not separate prompts.- Both parts are always shown to everyone; only the emphasis changes with your role.
- They are most at home in a
round-robin: trueround, where there is a speaker and listeners; without a live turn both parts simply show together.
Host-only notes on a prompt (`host:`)
A line beginning with host: in a prompt’s body is a speaker note for the host — the words the host might say to open the prompt, or a reminder of how to frame it. It appears on the host’s own prompt card in an amber-tinted note block, and is hidden from participants’ cards entirely. If the spoken prompt is on, it is read aloud to everyone alongside the rest of the prompt, so it doubles as "what the host says out loud." Mix it freely with speaker: and listener: in the same prompt.
What it looks like
## Check-in
host: Let’s go round the room. One word for how you’re arriving.
One word, no explanation. Examples
## Welcome
> duration: 60s
host: Welcome everyone. Take a breath before we begin.
Settle in. We’ll start together in a moment. The host sees the "Welcome everyone…" line as a speaker note above the shared body; participants only see "Settle in. We’ll start together in a moment." When the spoken prompt is on, the host line is read aloud to the whole room.
Good to know
host:goes in a prompt’s body, not the heading. It attaches to the prompt it lives under.- Participants never see the text of a
host:line on their prompt card — it is only for the host to read. - When the spoken prompt is on,
host:is spoken aloud to everyone (it becomes the host’s spoken lines); when it is off, it stays silent. - You can use
host:alongsidespeaker:andlistener:in the same prompt — the ordering in the file does not matter, each part is shown in its own place.
What you write under a heading
Everything after a heading — and after its settings quote block, if any — is the body, up to the next heading. Under a # it is the preface; under a ## it is the prompt’s words. Light formatting (bold, italics, lists) is supported.
What it looks like
## Heading
> duration: 2m
What people see while this prompt is up. Examples
- One
- Two
- Three A bulleted list with three points.
Good to know
- Blank lines at the very start or end of a body are tidied away; blank lines between paragraphs are kept.
- A body can be empty when the heading says everything you need.
Your own labels
You can add any extra labels you like to a settings quote block, even ones Weave does not know about yet. Weave keeps them with the round or prompt for other tools to use.
What it looks like
## Phase
> duration: 2m
> audio-cue: bell.mp3 Examples
> audio-cue: bell.mp3 An "audio-cue" of "bell.mp3" is remembered for any tool that knows how to play it.
Good to know
- Custom labels are remembered exactly as you write them.
What Weave remembers from your pattern
When Weave reads your pattern it pulls out the information below. You never need to write any of this yourself — Weave figures it out from the file you wrote.
About the meeting
- sourceSpecVersion — Which version of the Weave pattern format your file uses.
- title — The title of the meeting, if you gave it one.
- description — A short description of the meeting, if you wrote one.
- autoplay — Whether the meeting moves itself along. When on, a phase whose timer runs out rolls into the next one on its own, and breakout rooms open and close automatically. When off, the host moves each phase along by hand.
- attributes — Any extra labels you added to the header at the top of the file.
About each phase
- id — A short, automatic nickname for the phase, useful for linking to it.
- index — Where the phase sits in the meeting (the first phase is 0).
- name — The name of the phase, shown to everyone in the meeting.
- durationSeconds — How long the phase runs, in seconds. If it is 0, the host moves things along when they are ready.
- perParticipant — True if each person takes a turn during the phase; false if the whole group does it together.
- body — Whatever you wrote under the heading — the prompts, instructions, or talking points.
- breakouts — Whether the phase runs in breakout rooms, and how to size them. Empty when the whole group stays together.
- stayTogether — True if this breakout phase should try to keep participants who were together in the previous breakout round together again. Absent when the round reshuffles or has no breakouts.
- attributes — Any extra labels you added to the heading.
- segmentId — Which segment (the H1 round) this phase belongs to.
- segmentRole — Whether this phase is its segment’s preface (shown in the main room before the round begins) or one of the round’s prompts.
Example patterns
Real meeting patterns you can read, copy, and use as a starting point. Each one shows a different part of the format — including a few examples of common mistakes so you know what they look like.
- A complete workshop ready to use
A full workshop that tours every feature — implicit single-room prompts, a round-the-room check-in, breakout rounds whose rooms span several prompts, and custom labels. Read it as a tour, or copy it as a starting point.
- The simplest possible pattern ready to use
The smallest pattern Weave will accept: a tiny header and a single prompt.
- One breakout, two questions ready to use
A breakout round whose rooms stay open across both prompts — the groups never reshuffle between questions, then everyone comes back together.
- A round-the-room check-in ready to use
A round where each person takes a turn through the prompts, one at a time.
- A meeting that runs itself ready to use
Turns on autoplay in the header so each timed prompt rolls into the next on its own — no one watches the clock.
- All the ways to write a timer ready to use
One prompt for every way you can write a timer — seconds, minutes, hours, clock-style — and one open-ended prompt with no timer at all.
- Using your own custom labels ready to use
Shows how Weave remembers any extra labels you add — both at the top of the file and in a prompt’s settings.
- Breakouts set on a prompt example of a mistake
`breakouts:` belongs on the `#` round heading, not on a `##` prompt — Weave asks you to move it up.
- A round-robin value that is not true or false example of a mistake
Writes `round-robin: maybe`. Only `true` or `false` are accepted, so the typo is caught.
- A breakout round with no prompts example of a mistake
A breakout round needs at least one `##` prompt for the rooms to work on.
- No prompts yet example of a mistake
The file has a valid header but no headings — so there is nothing for the meeting to do.
Writing your own? Validate a pattern to check it before you save — the check runs right in your browser.