Write an engagement in a slide's speaker notes, push the deck to Pulse from the PowerPoint add-in, and Pulse creates or updates that engagement and anchors it to the slide — so it follows the slide when you reorder the deck. Any human or AI can author these blocks.
[pulse:<kind> <attrs>]
<prompt line(s)>
- option
- option *
[/pulse]
<kind> is poll, quiz, or icebreaker.- are
options; a trailing * marks a correct option (quiz).| attr | meaning |
|---|---|
id=… | Round-trip identity — present when Pulse exported the block. Leave it OFF when authoring new; Pulse assigns one. |
results= live · afterClose · hidden | Who sees results, and when. Default live. |
time=<seconds> | Auto-close this many seconds after it opens. |
multi | Allow selecting multiple options (polls). |
onAdvance | Fire when the presenter advances off this slide (for a question about the slide's own content), not when it appears. |
[pulse:quiz onAdvance]
Which planet is largest?
- Mars
- Jupiter *
- Venus
[/pulse]
[pulse:poll results=afterClose]
How are you feeling?
- Great
- Okay
- Tired
[/pulse]
[pulse:icebreaker]
Coffee or tea?
- Coffee
- Tea
[/pulse]
The whole post-event survey travels the same way — one block on the deck's closing (last) slide
notes. Each line is a question ending in a (type …) marker; - lines are the
options for the choice/multi question above them.
[pulse:survey]
How would you rate this session? (rating 10)
Which parts landed? (multi)
- The live demo
- The Q&A
- The slides
Would you recommend us? (choice)
- Yes
- No
Anything else? (text)
[/pulse]
rating (1–N; default 5, override with (rating 10)), choice
(pick one), multi (pick many), text (free write-in). No recognized marker ⇒ rating.choice/multi need at least two - options, else that question is dropped.(rating id=…) when Pulse exported the survey — leave them off when authoring new.A deck's notes can build a whole event, not just engagements:
[pulse:act title="…" speaker="…" minutes=N] on a section's first slide — builds an agenda segment; acts rebuild the run-of-show timeline.[pulse:session key=value …] on the title slide — sets event preferences (view=classic|overlay, overlay options, room toggles, control-size, wind-down, passcode, …). Unknown keys are ignored.Full grammar + an AI authoring workflow: Author an enriched deck with AI.
id matches an existing engagement updates it (its content only while it's
still a draft — Pulse never rewrites an engagement that has already run). A block with no id
creates a new draft.onAdvance if it tests that slide's content), a poll to gauge opinion, an icebreaker to open.
Don't include an id. When the user pushes the deck to Pulse, the engagements are created
automatically and follow their slides. For the exit survey, put one [pulse:survey] block on the
closing slide's notes (rating / choice / multi / text questions). The canonical, fetchable syntax lives at
/spec/engagement-notes.md.