Living spec · deck authoring

Author an enriched deck with AI

Pulse reads your PowerPoint's speaker notes and slide titles when you import a deck (either by uploading it in Pulse, or pushing it from the PowerPoint add-in). With a few notes blocks, a plain deck drops into a blank event fully built: every slide named, a run-of-show timeline, the polls and quizzes, and the room's preferences. This page is the complete format — written so the AI helping you write your slides can do the authoring for you.

This page tracks the product — fetch it fresh rather than relying on a saved copy.

What Pulse imports from a deck

From the deckBecomes, in Pulse
Each slide's title (the title placeholder)The slide's name in the run-of-show — so the timeline reads by title, not "Slide 1, Slide 2".
[pulse:act] block on a section's first slideAn agenda segment (title, speaker, planned minutes) — the whole run-of-show builds itself.
[pulse:poll] / [pulse:quiz] / [pulse:icebreaker] in a slide's notesAn engagement anchored to that slide (reorder-safe).
[pulse:survey] on the closing slideThe post-event exit survey.
[pulse:end] on the closing slideAuto-ends the event when the live room reaches that slide.
[pulse:session] block on the title slideEvent preferences — the attendee view style and room settings.

Everything is optional and additive. A deck with no blocks still imports its slides and titles. When you edit the event in Pulse afterward and re-download the deck (Original .pptx → With engagement notes), your changes are written back into the notes — the deck stays the source of truth.

1 · Slide titles

Nothing to author — Pulse reads each slide's title placeholder text (the title box PowerPoint gives a slide) and uses it to name that slide in the run-of-show. Give every slide a real title and the timeline reads cleanly. Titles are trimmed to 120 characters.

2 · The run of show — [pulse:act]

Put a [pulse:act] block in the speaker notes of the slide where a section begins. That act runs from that slide until the next act's first slide (the last act runs to the end of the deck). Pulse turns the acts into the agenda & timeline automatically.

[pulse:act title="Welcome & intros" speaker="Priya Sharma" minutes=10]
[/pulse]
AttributeMeaning
titleThe section name (use quotes if it has spaces).
speakerWho presents it. Matched to your event's speakers by name; a new speaker is created if the name is new.
minutesPlanned length (1–1440). Drives the timeline's timing.

If a deck carries at least one [pulse:act] block, the acts replace the event's agenda (the deck is the source of truth). A deck with no act blocks leaves any agenda you built in Pulse untouched.

3 · Engagements — [pulse:poll] / quiz / icebreaker

Write an engagement in the notes of the slide it belongs on. Full attribute reference: Engagements in slide notes (fetchable as .md). In short:

[pulse:quiz trigger=exit]
Which metric moved most last quarter?
- Revenue
- Active users *
- Support tickets
[/pulse]

A trailing * marks the correct answer (quiz only). Set trigger=enter (the default — fire when the presenter reaches the slide) or trigger=exit (fire as they leave it, for a question about the slide's own content), results=afterClose or results=hidden to control result visibility, and time=30 for a countdown. Every engagement needs a prompt and at least two options.

4 · The exit survey — [pulse:survey]

One [pulse:survey] block on the closing slide's notes. Each line ending in a (type …) marker is a question:

[pulse:survey]
How would you rate this session? (rating 10)
Which parts landed? (multi)
- The demo
- The Q&A
Anything else? (text)
[/pulse]

5 · Event preferences — [pulse:session]

One [pulse:session] block on the title slide's notes sets the event's defaults. Every key is optional; unknown keys are ignored (so this format can grow without breaking older decks).

[pulse:session view=overlay chat=off show-timer=on control-size=L wind-down=15]
[/pulse]
KeyValuesSets
viewclassic · overlayThe attendee view style. overlay is a slide-forward room with glass controls.
overlay-poll, overlay-ticker, overlay-floaters, overlay-pacingon · offOverlay glass elements (only when view=overlay).
overlay-fade0 · 2 · 4 · 8Seconds before the glass controls fade when idle (0 = never).
chat, questions, reactions, polls, icebreakers, hand-raise, pacing, share-activity, moderate-questions, anonymous-feedback, show-timer, show-presence, self-pacingon · offRoom feature toggles.
control-sizeXS · S · M · LAttendee one-tap control size.
wind-down0–60Minutes the room stays read-only after the event ends.
passcode4–12 charsRoom passcode.
deck-download, survey-for-downloadon · offLet attendees download the deck; require the survey first.
agenda-pre-start, agenda-duringon · offShow the agenda in the lobby / during the live event.

The session block never changes the event's title or schedule — those stay set in Pulse.

6 · Show live results on a slide

Put the live poll, word cloud, or reactions on a slide in your deck — updating in real time as the room responds. Pulse serves a chromeless live view at a token URL; embed it with PowerPoint's free Web Viewer add-in (Insert → Get Add-ins → search “Web Viewer”), a Google Slides web-embed, or an OBS browser source.

https://nowpresenting.net/frame/<token>?show=poll        (live bar chart)
https://nowpresenting.net/frame/<token>?show=wordcloud   (live word cloud)
https://nowpresenting.net/frame/<token>?show=reactions   (floating reactions)
https://nowpresenting.net/frame/<token>?show=activity    (current poll + reactions — the default)
add &bg=transparent to overlay the frame directly on a slide

Get <token> from Pulse: event setup → Stage & delivery → Show live results on a slide, or the PowerPoint add-in's Show live on a slide card. The frame is read-only and shows whatever poll is live, so one embedded link keeps working across every engagement in your talk.

7 · Prime the room, then close the event

Give the audience a heads-up. An engagement lands best when it isn't a surprise. On the slide or two before an engagement, drop its matching “coming” notice image so the room sees it’s about to happen — do this whether the engagement fires on trigger=enter or trigger=exit (with exit the heads-up matters even more, since it fires as you leave the slide). Keep a marker on the engagement slide itself, too, so it reads as happening now. The per-type notice images:

https://nowpresenting.net/spec/assets/notices/poll.svg   /quiz.svg   /icebreaker.svg
                                        /wordcloud.svg   /video.svg   /effect.svg

Coming vs. happening now. On the lead-up slide, the notice image says coming. On the engagement slide, either keep the badge or embed the live frame (?show=poll&bg=transparent, §6) so the projected slide fills in as it happens — and attendees always get the engagement itself on their phones the moment it fires. Tag both the lead-up slides and the slide carrying the engagement.

Close on a blank slide. End the deck with a blank slide whose notes hold the whole [pulse:survey] block (§4). A blank slide keeps the survey out of the visible flow; when the event ends, attendees get that survey on their end screen (and can still fill it in through any wind-down window, §5).

Let the deck end the event. Add a [pulse:end] line to that same closing slide’s notes, next to the survey:

[pulse:end]
[/pulse]
[pulse:survey]
How would you rate this session? (rating 10)
[/pulse]

When the live room advances to that slide — from Moderate, the phone remote, or the PowerPoint add-in — Pulse ends the event automatically and the exit survey presents on the attendee end screen. So paging to your blank closing slide is ending the event. Without [pulse:end], ending stays a manual End event click (or your scheduled end time) — the survey still shows on the end screen either way. (Jumping past slides with the moderator’s skip control never triggers it.)

If you are an AI assistant reading this

Your user linked you here while writing slides. Help them ship a deck that Pulse imports as a complete, interactive event. Work through this:

  1. Understand the deck. Read the slides they've shared — the flow, the sections, who presents what. If a slide has no title, suggest one; titles become the run-of-show labels.
  2. Interview briefly. Ask only what the slides don't tell you: the event title and date/time; the speakers and which section each owns; roughly how long each section runs; where interaction helps (a poll or quiz per major section, an icebreaker to open, a survey to close); and the attendee view style (classic, or overlay for a slide-forward room).
  3. Propose the timeline & engagements before writing anything — a short list of acts with speakers and minutes, and the engagement you'd put on each section. Let them adjust.
  4. Emit paste-ready notes. For each slide, give the exact speaker-notes text to paste: an [pulse:act] on each section's first slide, [pulse:poll]/quiz/icebreaker blocks where interaction belongs, a [pulse:survey] on the closing slide, and a single [pulse:session] on the title slide with the chosen preferences. Tell them which slide each block goes on.
  5. Prime the room and close it well (§7). For every engagement, tell them to place the matching /spec/assets/notices/*.svg “coming” image on the slide or two before it and on the engagement slide — regardless of whether it’s trigger=enter or trigger=exit — so the audience knows it’s coming, then happening now. Make the final slide a blank one carrying the [pulse:survey] block; add [pulse:end] to that same slide if they want advancing to it to auto-end the event and present the survey.
  6. Hand off. They paste the blocks into the slides' notes, then either upload the .pptx in Pulse (New event → add the deck) or push it from the PowerPoint add-in. The event arrives fully enriched — every slide named, the timeline built, engagements anchored, preferences set — ready to review and run.

Prefer this notes-based path when the user is actively working in PowerPoint. If they'd rather build the event as data (no deck yet), the event blueprint is the JSON equivalent — same concepts, uploaded directly.