Text Actions Cheat Sheet

Actions in Agenda allows you to type short commands that upon completion get dynamically converted and expanded into plain text, or invoke a certain action like marking a note as On the Agenda. Think about it as a quick way to trigger an action like typing \remind to insert a reminder or \date to insert the current date.

Actions are prefixed by a backslash character (\) that invokes an autocompletion menu that shows the available actions and that can be further filtered by typing the first few characters of the action you’d want to use.

Tip: On iPhone and iPad without a hardware keyboard, typing the backslash character can be a bit cumbersome. Instead you can simply tap-and-hold the plus button above the keyboard to trigger the action menu. Handy!

Similarly, on some keyboards, like the Chinese or Japanese ones, it’s hard to type a backslash character, therefore wherever a backslash character is shown, you can also use two backticks (``) or two middle-dot characters (··).

Many of these actions can take so called parameters inside parentheses (similar to how you can add value parameters to tags), to further refine the behaviour of these actions. For example, \date(in: 2 weeks) inserts the date two weeks from now instead of the current date.

Parameters labeled as Default are considered the default parameter if none is provided. For example, \tag(important) is considered the same as \tag(name: important).

Most actions also work inside templates, and in addition templates also support some actions that only work in templates, for an overview of these see Creating and Using Templates.

To see actions “in action” have a look at the Agenda 14 update video:

Below you’ll find a complete overview of the Actions that Agenda currently supports.

Insert

\tag

  • inserts a tag token into the note text
  • synonyms: #, \insert-tag

Parameters

  • name - the name of the tag - Default, Required
  • color - the name or hex-value of the color of the tag - Premium
  • value, text, string - an optional text value - Second Default
  • day, on, after, before, until, from, in - an optional day value
  • date, at - an optional date value
  • int, integer, number, level - an optional int value
  • float, double - an optional float value

Examples

  • \tag(name: important) - creates the tag #important, equal to \tag(important)
  • \tag(important, color: blue) - creates the tag #important with a blue color
  • \tag(important, color: #333) - creates the tag #important with the hex color #333
  • \tag(priority, value: high) - creates the tag #priority(high), equal to \tag(priority, high)
  • \tag(due, day: tomorrow) - creates the tag #due(6 April 2022)
  • \tag(due, in: 3 weeks) - creates the tag #due(26 April 2022)
  • \tag(deadline, at: 17 oct 2022 13pm) - creates the tag #deadline(17 Oct 2022 at 13.00)
  • \tag(priority, int: 1, color: red) - creates the tag #priority(1) in red
  • \tag(version, float: 2.1) - creates the tag #version(2.1)

\person

  • inserts a person token into the note text
  • synonyms: @, \insert-person, contact

Parameters

  • name, alias, nickname - the name of the person - Default, Required

Examples

  • \person(name: Tom G) - creates the person @(Tom G), equal to \person(Tom G)

\reminder

  • inserts and schedules a reminder in the Reminders app
  • synonyms: \remind, \insert-reminder

Parameters

  • none - inserts a placeholder reminder that is not scheduled
  • due-date - a natural language string representing a date in the future - Default
  • title - the title of the reminder to schedule
  • list - the list in the reminders app on to which to schedule the reminder
  • all-day - schedules the reminder as an all-day reminder

Examples

  • \reminder - creates an unscheduled reminder and open the edit popover
  • \reminder(today) - schedules a reminder for today in 30 minutes
  • \reminder(today at 6pm) - schedules a reminder for today at 6 o’clock
  • \reminder(tomorrow evening) - schedules a reminder for tomorrow at 6 o’clock
  • \reminder(in 3 weeks) - schedules a reminder 21 days from now
  • \reminder(25 dec 2020, at 8pm)` - schedules a reminder on the 25 dec 2020 at 8 o’clock
  • \reminder(today at 6pm, list: important) - schedules a reminder for today at 6 o’clock on the reminder list “important”
  • \reminder(all-day: tomorrow) - schedules an all-day reminder for tomorrow

\star

  • inserts a star at the end of the current paragraph into the note text
  • synonyms: #star, \insert-star, \flag

Parameters

  • none - inserts a star at the end of the paragraph

Examples

  • \star - creates a star at the end of the paragraph, equal to #star

\date

  • inserts the current date into the note title or text
  • synonyms: \insert-date

Parameters

  • none - inserts the current date in the default format
  • full, long, medium, short - a standard date format in the given form - Default
  • format - a custom formatted date, see tip and note below
  • locale - the locale to use for formatting the date
  • timezone - the timezone to use for formatting the date
  • in, for, offset - a different date than today
  • default-format - sets the default format of \date to the custom format provided

Examples

  • \date - 22-07-20
  • \date(full) - Wednesday, July 22, 2020
  • \date(short) - 7/22/20
  • \date(format: dd-MM-yy) - 22-07-20
  • \date(full, locale: no) - onsdag 22. juli 2020
  • \date(for: tomorrow) - 23-07-20
  • \date(in: 2 days) - 24-07-20
  • \date(offset: 3 weeks) - 12-08-20
  • \date(default-format: dd-MM-yy) - 22-07-20 (and sets this format as the default)

Tip: For a complete overview of supported date formats, see UTS #35: Unicode LDML: Dates. As an example: \date(EEE\, MMM d\, ''yy) will result in Wed, Jul 22, '20. Note how the comma’s in the pattern need to be escaped with a slash or it is seen as a next parameter. The same is true for colons, like in this example: \time(format: HH\:MM), resulting in 18:34.

Important: When a format is provided as a parameter, either a custom one or the full, long, medium, short ones, it also becomes the default format when you omit the parameter by just typing \date. To restore the format back to medium, you can type \date(default) once.

\time

  • inserts the current time into the note title or text

Parameters

  • none - inserts the current time in the default format
  • full, long, medium, short - a standard time format in the given form - Default
  • format - a custom formatted time, see tip and note above
  • locale - the locale to use for formatting the time
  • timezone - the timezone to use for formatting the time
  • default-format - sets the default format of \time to the custom format provided

Examples

  • \time - 12:27
  • \time(full) - 12:27:15 PM Western European Summer Time
  • \time(short) - 12:27
  • \time(format: HH\\:mm\\:ss) - 12:27:33
  • \time(medium, locale: en_US_POSIX) - 12:27:15 PM

Tip: For a complete list of locale’s see iOS Locale Identifiers · GitHub, for a list of timezone identifiers, see iOS Time Zone list - Readdle Knowledge Base

\now

  • inserts the current date and time into the note title or text
  • synonyms: \timestamp

Parameters

  • none - inserts the current date and time in the default format
  • full, long, medium, short - a standard time format in the given form - Default
  • format - a custom formatted time, see tip and note above
  • locale - the locale to use for formatting the date and time
  • timezone - the timezone to use for formatting the date and time
  • default-format - sets the default format of \now to the custom format provided

Examples

  • \now - 22-07-20 02:30
  • \now(full) - Wednesday, July 22, 2020 at 2:29:53 AM Western European Summer Time
  • \now(short) - 7/22/20, 2:30 AM
  • \now(format: dd-MM-yy HH\\:mm\\:ss) - 22-07-20 02:30:30
  • \now(medium, locale: en_US_POSIX) - Jul 22, 2020 at 2:31:03 AM

\expression

  • inserts the calculated result of an expression into the note text
  • synonyms: \formula, \insert-expression, \math

Parameters

  • math - a mathematical expression to be calculated - Default
  • sum, add, total - a comma separated list of values to be added up
  • count - a comma separated list of values to be counted
  • min, minimum - a comma separated list of values from which to pick the minimum value
  • max, maximum - a comma separated list of values from which to pick the maximum value
  • average, avg - a comma separated list of values to be taken the average of
  • median, med - a comma separated list of values to be taken the median of
  • stddev, standard-deviation, stdev - a comma separated list of values to be taken the standard deviation of
  • sqrt, square-root - a value to be taken the square root value of
  • log, lg, logarithm - a value to be taken the logarithm value of
  • ln, natural-logarithm - a value to be taken the natural logarithm value of
  • random, rdm - a random value between 0 and the number provided

Examples

  • \expression(5 * 8) - 40
  • \expression(sum: 2, 5, 7) - 14
  • \expression(count: 2, 5, 7) - 3
  • \expression(min: 2, 5, 7) - 2
  • \expression(max: 2, 5, 7) - 7
  • \expression(average: 2, 5, 7) - 4.666…
  • \expression(median: 2, 5, 7) - 5
  • \expression(stddev: 2, 5, 7) - 2.0548…
  • \expression(sqrt: 9) - 3
  • \expression(log: 9) - 0.9542…
  • \expression(ln: 9) - 2.197…
  • \expression(random: 9) - 7
  • \expression(random: 1.0) - 0.598

\horizontal-rule

  • inserts a horizontal rule (separator line) into the note text
  • synonyms: \rule, \insert-horizontal-rule, \hr

Examples

  • \rule - inserts a horizontal rule

\table

  • inserts a table into the note text
  • synonyms: \insert-table, \tb

Parameters

  • none - inserts a standard 2x2 table
  • size, dimensions - the size of the desired table in columns x row format - Default
  • columns, c - the number of columns the table should have
  • rows, r - the number of rows the table should have

Examples

  • \table - inserts a standard 2x2 table
  • \table(3x4) - inserts a table with 3 columns and 4 rows
  • \table(columns: 4) - inserts a table with 4 columns and 2 rows
  • \table(rows: 4) - inserts a table with 2 columns and 4 rows
  • \table(r: 3, c: 4) - inserts a table with 4 columns and 3 rows

\link

  • inserts a web link or link to a project or note into the note text
  • synonyms: \url, \insert-link, \ref, \href, [[
  • shorthands: \project, \note

Parameters

  • url - the web url of the link to be inserted Default
  • description, dimensions - the descriptive text of the link - Second Default
  • project, project-title, to - the name of the project the link should point to
  • note, note-title - the title of the note the link should point to

Examples

  • \link(apple.com, apple website) - inserts the text apple website with a link to apple.com
  • \link(url: http://microsoft.com, description: microsoft) - inserts the text microsoft with a link to microsoft.com
  • \link(project: Developing Yak App, description: YakApp) - inserts the text YakApp with a link to the project called Developing Yak App
  • \link(note-title: Meeting the developers) - inserts a link to the note with the title Meeting the developers

Tip: Instead of the using \link you can also use the shortcut [[ to insert a link to another project or note. You can even type [[recent to see a list of all recently edited notes to link to. See it in action…

\summary

  • inserts a summary into the note text at the location of the selection or cursor
  • synonyms: \summarize, \insert-summary

Parameters

  • none - inserts a summary of all unchecked list items
  • list - inserts a summary of the list items based on one of the following criteria: - Default
    • checked - all checked items
    • unchecked - all unchecked list items
    • starred - all paragraphs marked with a star
    • tagged - all paragraphs that contain a tag
    • assigned - all paragraphs that contain a person token
  • tag - the name of the tag to be summarised
  • person - the name of the person to be summarised

Examples

  • \summary - inserts a summary of all unchecked list items in the note
  • \summary(list: checked) - inserts a summary of all checked list items in the note
  • \summary(starred) - inserts a summary of all paragraphs marked with a star
  • \summary(tag: urgent) - inserts a summary of all paragraphs that have the tag named urgent
  • \summary(tag: priority[1]) - inserts a summary of all paragraphs that have the tag named priority with the value 1 (note the use of square brackets instead of parentheses)
  • \summary(person: tom) - inserts a summary of all paragraphs that have the person named tom

\attachment

  • inserts an attachment into the note text, triggers the open file dialog to pick the file to attach
  • synonyms: \attach, \file, \insert-attachment

Parameters

  • none - opens the file picker to select an attachment to be inserted
  • description, title, name - the text that should be used as the description of the file to be imported as attachment - Default

Examples

  • \attach - opens the file picker
  • \attach(My File) - opens the file picker and after importing uses My File as the description of the attachment

\drawing

  • inserts a drawing into the note text, shows the drawing canvas - iOS and iPadOS only
  • synonyms: \draw, \insert-drawing

Parameters

  • none - shows a new drawing canvas
  • description, title, name - the text that should be used as the description of the drawing - Default

Examples

  • \draw - opens a new drawing canvas
  • \draw(My Drawing) - opens a new drawing canvas, using My Drawing as the description of the drawing

\template

  • inserts the contents of a template into the note text at the insertion point or replacing the selection
  • synonyms: \insert-template

Parameters

  • name - the name of the template to be used - Default, Required
  • input - the text that should be used to replace the input placeholder in the template

Examples

  • \template(Book Review) - inserts the content of the Book Review template
  • \template(Book Review, input: The title of this book) - inserts the content of the Book Review template, replacing the \input placeholder with the text The title of this book.

Paragraph Style

\body

  • resets the paragraph style back to plain body text
  • synonyms: \p

Examples

  • \body - resets all formatting so that when typing the paragraph style is set to body text

\heading

  • sets the paragraph style to heading
  • shorthands: \heading1, \h1, \heading2, \h2, subheading, \heading3, \h3, \heading4, \h4

Parameters

  • level - the heading level to use - Default

Examples

  • \heading - changes the style to Heading, equivalent to \heading1 and \h1
  • \heading(level: 2) - changes the style to subheading, equivalent to \heading2, \h2, and \subheading
  • \h3 - changes the style to minor heading

\preformatted

  • sets the paragraph style back to pre-formatted text
  • synonyms: \pre

Examples

  • \pre - changes the style to preformatted text, equivalent to \preformatted

\list

  • sets the paragraph style to a dashes or bulleted (depending on your preference) unordered list
  • synonyms: \ul, \dashed, \bulleted

Examples

  • \list - changes the style to a dashed list, equivalent to \ul,
    or tying a dash, asterix, or bullet followed by a space

\numbered

  • sets the paragraph style to a numbered (ordered) list
  • synonyms: \ol

Parameters

  • none - sets the style to a numbered list starting at 1
  • start, from - the starting number for the list

Examples

  • \numbered - changes the style to a numbered list starting at 1,
    equivalent to 1. followed by a space
  • \numbered(start: 5) - changes the style to a numbered list starting at 5,
    equivalent to typing 5. followed by a space

\checklist

  • sets the paragraph style to a checklist list
  • synonyms: \cl

Examples

  • \checklist - changes the style to a checklist list, equivalent to \cl

List Actions

\check

  • checks the checklist item at the current line

Parameters

  • none - checks the checklist item at the current line
  • all - checks all checklist items in the list of which the current line makes part

Examples

  • \check - checks the checklist item at the current line
  • \check(all) - checks all checklist items in the list

\check-all

  • checks all checklist items in the list of which the current line makes part
  • synonyms: \all

Examples

  • \all - checks all checklist items in the current list

\uncheck

  • unchecks the checklist item at the current line

Parameters

  • none - checks the checklist item at the current line
  • all - checks all checklist items in the list of which the current line makes part

Examples

  • \uncheck - unchecks the checklist item at the current line
  • \uncheck(all) - unchecks all checklist items in the list

\reset

  • unchecks all checklist items in the list of which the current line makes part

Examples

  • \reset - unchecks all checklist items in the current list

\sort

  • sorts the checklist that the current line makes part such that checked list items are moved to the bottom

Examples

  • \sort - moves the checked items in the current list to the bottom

Formatting

\bold

  • toggles bold formatting
  • synonyms: \b

Examples

  • \b - toggles bold formatting, equivalent to \bold

\italic

  • toggles italic formatting
  • synonyms: \i

Examples

  • \i - toggles italic formatting, equivalent to \italic

\underline

  • toggles underline formatting
  • synonyms: \u

Examples

  • \u - toggles underline formatting, equivalent to \underline

\fixed-width

  • toggles fixed-width formatting
  • synonyms: \fixed

Examples

  • \fixed - toggles fixed-width formatting, equivalent to \fixed-width

\strikethrough

  • toggles strikethrough formatting
  • synonyms: \strike

Examples

  • \strikethrough - toggles strikethrough formatting, equivalent to \strike

\superscript

  • toggles superscript formatting
  • synonyms: \sup

Examples

  • \sup - toggles superscript formatting, equivalent to \superscript

\subscript

  • toggles subscript formatting
  • synonyms: \sub

Examples

  • \sub - toggles subscript formatting, equivalent to \subscript

\color

  • toggles text color formatting
  • synonyms: \text-color

Parameters

  • color - the name of the color to be used - Default, Required

Examples

  • \text-color(color: green) - toggles to green text color, equivalent to \color(green)
  • \color(#333) - toggles to hex color #333 text color

\highlight

  • toggles text highlight formatting

Parameters

  • color - the name of the color to be used - Default, Required

Examples

  • \highlight(color: blue) - toggles to blue text highlighting, equivalent to \highlight(blue)
  • \ highlight(#333) - toggles to hex color #333 text highlight

\clear

  • removes all formatting back to plain text
  • synonyms: \c

Examples

  • \clear - resets all inline style formatting

Note Actions

\on-the-agenda

  • marks the note as “On the Agenda”, or unmarks it if it’s currently marked as such
  • synonyms: \ota, \ontheagenda, \agenda

Examples

  • \ota - marks the note as “On the Agenda”, equivalent to \on-the-agenda

\done

  • marks the note as Done

Examples

  • \done - marks the note as done

\undone

  • unmarks the note as Done

Examples

  • \undone - unmarks the note as done

\pin

  • pins the note to the top of the project

Examples

  • \pin - pins the note

\footnote

  • make the note into a footnote that is pinned to the bottom of the project

Examples

  • \footnote - turns the note into a footnote

\unpin

  • makes the pinned note or footnote go back into a regular note

Examples

  • \unpin - turns the pinned note or footnote back into a regular note

\assign-date

  • assigns the provided date to the current note
  • synonyms: \assign
  • shorthands: \today, \tomorrow, \yesterday, \monday, \tuesday, \wednesday, \thursday, \friday, \saturday, \sunday

Parameters

  • day, on, after, before, until, from, in - a natural language representation of the day that should be assigned - Default
  • date, at - a natural language representation of the date that should be assigned

Examples

  • \assign(17 oct 2022) - assigns the note to 17 oct 2022
  • \assign(in: 3 weeks) - assigns the note to 3 weeks after today
  • \assign(tomorrow) - assigns the note to tomorrow
  • \assign(next Wednesday) - assigns the note to next Wednesday
  • \today - assigns the note to today
  • \friday - assigns the note to coming Friday

\link-event

  • links the provided event to the current note
  • synonyms: \event

Parameters

  • day, on, after, before, until, from, in - a natural language representation of the day that should be searched for events - Default
  • date, at - a natural language representation of the date that should be searched for events
  • calendar - the calendar that the search should be limited to

Examples

  • \event(17 oct 2022) - shows calendar events on the 17th of October that the note can be linked to
  • \event(calendar: Work, 17 oct 2022) - shows events from the calendar Work on the 17th of October that the note can be linked to

\new

Added in Agenda 15

  • adds a new note following the current note

Parameters

  • none- adds a new note following the current note
  • title - the title of the note that will be created - Default
  • template- the template to use for the new note

Examples

  • \new - creates a new note following the note you’re currently in
  • \new(Part Two) - creates a new note with the title Part Two
  • \new(title: 15 Dec, template: Daily Meeting) - creates a new note with the title 15 Dec using the template Daily Meeting.

\split

  • splits the current note at the insertion point

Parameters

  • none- splits the current note at the insertion point - Default
  • title - the title of the note that will be split off from the current note

Examples

  • \split - splits the current note at the insertion point
  • \split(title: Part Two) - splits the current note at the insertion point into a new note with the title Part Two

\duplicate

  • duplicates the current note

Parameters

  • none- duplicates the current note - Default
  • title - the title of the duplicated note

Examples

  • \duplicate - splits the current note at the insertion point, equivalent to \new
  • \duplicate(title: Part Two) - creates a duplicate with the title Part Two of the current note

\move

  • moves the current note to a different project

Parameters

  • project, project-title, to - the title of the project the note should move to - Default, Required

Examples

  • \move(to: Developing Yak App) - moves the current note to the project Developing Yak App

\print

  • prints the current note

Examples

  • \print - prints the note

Escaping

Actions

If you don’t want an action to be executed and instead remain as text, you can prefix the action with an additional backslash character, like this: \\tag(name: Alex). The action will then not result in the creation of the tag Alex but instead remain as \tag(name: Alex). Alternatively you can change the paragraph style to Preformatted or the inline style to fixed-width to prevent actions from being executed.

Parameters

A colon and comma have a special meaning with the parameter lists of actions, if the argument of a parameter needs to contain one of these characters you can escape them using a backslash character.

For example, without escaping \date(format: YYYY, dd-MM) is incorrectly parsed and only shows the year 2022, instead you can use \date(format: YYYY\, dd-MM) to show 2022, 07-04

Similarly, without escaping \split(Newsflash: ABC) would not be correctly parsed while \split(Newsflash\: ABC) does.

Localization

Note that all actions and parameters should be properly localized according to the language of the app. You can use in that case either the above English variant or the translated variants. Note that although the actions might contain accents and/or capitals, it’s not needed to type these, for example in the French version of Agenda, you can get a numbered list by typing any of the following:

  • \numĂ©rotĂ©e
  • \numerotee
  • \NumĂ©rotĂ©e
  • \numbered

Speaking of Localization: want to help localize Agenda to your favorite language?, for instance to Korean or Japanese, let us know or leave a message at the page for your language…

13 Likes

This is awesome!

One improvement I’d like to suggest: currently, the expressions only work if you add spaces so “\expression(average: 3, 4)” works but “\expression(average: 3,4)” doesn’t. It would be great if the latter worked as well.

Another wishlist item: it’d be great if we could generate summaries not only for individual notes but also for whole projects. :slight_smile:

1 Like

Cheers, we’ll see if that can be improved indeed. Regarding summaries, we have some (bigger) ideas in mind for that kind of scenario. Stay tuned!

1 Like

Not sure if I am missing it or if it is just not a thing, but is there a way to insert pre-formatted text within body text?

Yes, you can either choose the preformatted paragraph style from the Format menu and then type or paste the text, or if you have already text copied from somewhere else, use the Edit > Paste As > Preformatted option.

Note also that there is a variant called “Fixed Width”, which is preformatted embedded in a different paragraph style. Preformatted is a paragraph style, and “Fixed width” is like bold or italic.

Thank you! This is closer to what I wanted. The Preformatted style turns the entire block into the style and not just a piece of it. I can highlight the fixed with portion to make it stand out,

1 Like

Can you all make this cheat sheet an Agenda file, so we can import this for reference??

Thanks!

We’re a bit reluctant to do so as this is a living document that we keep on updating as new features are added, the Agenda file would be harder to keep in sync.

Yes, an agenda file is a static document. That makes sense. How do you keep all of this stuff in your head - all the things you have to think about?

To a large extent the easiest way is to use the autocompletion system as it guides you through all options, just type a backslash (\) character and all options will be shown, typing an opening parenthesis will show all parameters, etc etc.

Yes, you are right; autocompletion should be trusted and relied upon. Much of the time, I don’t even know that something I want to automate can be used as a text action. I’m just going to print it out and keep it in my reference binder.

I was in a hurry; I should have used more words: How do developers keep all of the technical considerations as to when and how best to support an application straight. No normal user would think of these things, re keeping the Text Actions Cheat Sheet on the Discourse forum and not releasing it as a document for each user’s Agenda installation.

1 Like

I’ve been using this for a while as a crutch.You can also set it up show any custom kb shortcuts. Or just create a pdf of the cheat sheet.

1 Like

Is there a way to set a color for a note without using the mouse? I’m using colors to differentiate my notes and would like to have a method to set the color easily. Thank you.

Also, is there a way to remove an assigned date?

Thanks

Removing a Date

To remove an existing date or range of dates from a note…

  1. Select the note.
  2. Click/tap the date button top-right on the note.
  3. Either…
  • Click/tap on the selected date to deselect it, or…
  • Click/tap on empty space at the bottom of the calendar to deselect.
  1. Click/tap the Remove Date button.

I don’t know the text action for this.

There’s no text actions for this at the moment, we’ll consider adding one

Thanks, text actions for colouring notes and removing an assigned date would be great.

Is there an action to assign a date range?

Also, how does it work exactly that you can assign with just \assign(whenever), but the autocompleted version is \assign-date?

Thanks

There’s no date range option yet for assign date.

Also, how does it work exactly that you can assign with just \assign(whenever), but the autocompleted version is \assign-date?

assign-date is the official text action but for almost all text actions we also support what we call variants, as some people associate different terms and version with a certain action. For example, you can use \star but also \flag. When autocompleting we pick the default variant (\star in this example), but if you start typing \fl you’ll see that it suggests \flag.

\assign is simply a shorter variant of the more descriptive \assign-date action, you can use either as you prefer