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, Requiredcolor
- the name or hex-value of the color of the tag - Premiumvalue
,text
,string
- an optional text value - Second Defaultday
,on
,after
,before
,until
,from
,in
- an optional day valuedate
,at
- an optional date valueint
,integer
,number
,level
- an optional int valuefloat
,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 scheduleddue-date
- a natural language string representing a date in the future - Defaulttitle
- the title of the reminder to schedulelist
- the list in the reminders app on to which to schedule the reminderall-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 formatfull
,long
,medium
,short
- a standard date format in the given form - Defaultformat
- a custom formatted date, see tip and note belowlocale
- the locale to use for formatting the datetimezone
- the timezone to use for formatting the datein
,for
,offset
- a different date than todaydefault-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 formatfull
,long
,medium
,short
- a standard time format in the given form - Defaultformat
- a custom formatted time, see tip and note abovelocale
- the locale to use for formatting the timetimezone
- the timezone to use for formatting the timedefault-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 formatfull
,long
,medium
,short
- a standard time format in the given form - Defaultformat
- a custom formatted time, see tip and note abovelocale
- the locale to use for formatting the date and timetimezone
- the timezone to use for formatting the date and timedefault-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 - Defaultsum
,add
,total
- a comma separated list of values to be added upcount
- a comma separated list of values to be countedmin
,minimum
- a comma separated list of values from which to pick the minimum valuemax
,maximum
- a comma separated list of values from which to pick the maximum valueaverage
,avg
- a comma separated list of values to be taken the average ofmedian
,med
- a comma separated list of values to be taken the median ofstddev
,standard-deviation
,stdev
- a comma separated list of values to be taken the standard deviation ofsqrt
,square-root
- a value to be taken the square root value oflog
,lg
,logarithm
- a value to be taken the logarithm value ofln
,natural-logarithm
- a value to be taken the natural logarithm value ofrandom
,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 tablesize
,dimensions
- the size of the desired table in columns x row format - Defaultcolumns
,c
- the number of columns the table should haverows
,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 Defaultdescription
,dimensions
- the descriptive text of the link - Second Defaultproject
,project-title
,to
- the name of the project the link should point tonote
,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 itemslist
- inserts a summary of the list items based on one of the following criteria: - Defaultchecked
- all checked itemsunchecked
- all unchecked list itemsstarred
- all paragraphs marked with a startagged
- all paragraphs that contain a tagassigned
- all paragraphs that contain a person token
tag
- the name of the tag to be summarisedperson
- 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 namedurgent
\summary(tag: priority[1])
- inserts a summary of all paragraphs that have the tag namedpriority
with the value1
(note the use of square brackets instead of parentheses)\summary(person: tom)
- inserts a summary of all paragraphs that have the person namedtom
\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 inserteddescription
,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 canvasdescription
,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, Requiredinput
- 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 1start
,from
- the starting number for the list
Examples
\numbered
- changes the style to a numbered list starting at 1,
equivalent to1.
followed by a space\numbered(start: 5)
- changes the style to a numbered list starting at 5,
equivalent to typing5.
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 lineall
- 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 lineall
- 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 - Defaultdate
,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 - Defaultdate
,at
- a natural language representation of the date that should be searched for eventscalendar
- 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 notetitle
- the title of the note that will be created - Defaulttemplate
- 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 - Defaulttitle
- 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 - Defaulttitle
- 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…