A block for everything.

Type / for any block. Every block is saved as plain markdown, so it works in GitHub, Obsidian or any editor.

Selected block

Saved as
Type / in any page to insert it
Tip Callouts stay readable in any app.
CalloutHighlight a note, tip or warning.> [!tip]
Record the demo
Invite 50 users
Read feedback
ChecklistCheck items off, or hide the completed ones.- [ ] task
TaskOwnerDueDemoCodexSep 25InviteYouOct 1
TableResize and add columns, like Google Docs.| Task | Owner |
+ ⋮⋮Launch plan
Headings & handlesDrag any block, or press + to add one below.## Heading
DiagramDraw flowcharts right in the page, or create and edit them via MCP.<!-- block::diagram id=dg-… src=dg-….excalidraw.md -->
📅 Tomorrow · 9:00 AM ⏰
Date & reminderType @ for a date and add a reminder.[Tomorrow](tempo://date/2026-09-24)
C@codex shorten this
Agent commentAsk an agent about any passage..tempo/comments/…md
▦ plans/launch-plan.md
Page & file linksLink pages and files with @.[Launch plan](plans/…)
Images & filesDrop in images, PDFs and files. They're saved in your attachments folder.![onboarding.png](attachments/onboarding.png)
<details>
  <summary>FAQ</summary>
</details>
WebCustom HTML blocks, kept in a sibling file.<!-- block::html id=… src=….html.md -->
Say less. Ship more.
QuotePull a line out of the page.> quote
const plan = await codex.draft()
CodeSyntax-highlighted code blocks.```ts
Request a new oneWe can always build new plugins and blocks to support use cases.