Quick Entry
You can create events and tasks in BusyCal using natural language via the Quick Entry feature.
Quick Entry - Natural Language
BusyCal's Quick Entry feature allows you to rapidly create calendar events, tasks, and journal entries using everyday language instead of filling out forms. Type phrases like "Lunch with Sarah tomorrow at noon" or "Team meeting Tuesday 3pm at Conference Room" and BusyCal automatically interprets the date, time, location, and other details.
- BusyCal — Click the + (plus) icon that appears in top left corner of the window, or press
⌘-Option-N, to expose the Quick Entry field. - BusyCal Menu — Click the BusyCal menu bar icon, or press
⌘-Control-B. Your cursor is placed in the Quick Entry field that appears on the top of the menu.
A preview of the event details are displayed while you type as it recognizes the title, date and time, location and more. You can even add contacts or attendees, set an alarm, add a URL, or indicate the calendar to create the event on.
Creating Events
BusyCal lets you use natural language to create new events and tasks via Quick Entry. Here are some examples:
Lunch with Joe next Tuesday
Lunch with Joe next Tuesday at 12:00
Meeting with Joe Nov 7 at 3:00
Staff meeting Thursday at 2:00
Dentist at 2:00 Monday alarm 15m
=> adds an alarm 15 minutes before the event
Dentist at 3:30 Monday alarm 15m, 10m, 5m
=> adds three alarms 15, 10 and 5 minutes before the event. Supported by BusyCal v2023.3.1+
Dentist at 2:00 Monday [45m]
=> Creates a 45-minute event (2:00 PM - 2:45 PM)
Coffee at Jimmys 9:00
=> adds Jimmys to the Location field
The keyword allday can be used to turn the event into an all-day event, even if a default start time is applied in settings. Time
will automatically be omitted when allday is used.
Attend conference tomorrow allday
Events are added to the default event calendar specified in BusyCal > Settings > General > Default calendar for Events, unless you specify a different calendar (see Setting the Calendar below).
Time Zones
You can attach a time zone to an event simply by typing it inline. BusyCal recognises both common abbreviations (PST, EST, GMT, BST, UTC, etc.) and full IANA identifiers (America/New_York, Asia/Tokyo, Europe/London, …). The time zone is parsed out of the title, so it never ends up in the event name.
Class April 19 at 1pm PST
Meeting May 1 9am America/New_York
Apple Earnings Call Tuesday 2pm PST!
=> trailing punctuation does not break parsing
If your event has a different start and end zone — for example, a flight or a cross-zone call — write a zone after the start time, the end time, or both:
Flight April 18 9am EST to 11am PST
Class April 19 at 1pm PST to 3pm EST
Conference April 18 12pm PST to April 19
=> end falls on the next day, in the same zone
A few finer points:
- You can write the zone with or without a space —
9am PSTand9amPSTboth work. The space-less form is especially handy in Chinese, Japanese, and Korean inputs. - All-day events can still carry a zone, e.g.
do something tomorrow 9pm PST allday. - Recurring events keep their zone on every occurrence — see Recurrence end and date windows for examples like
every Tuesday at 9am PST until February 3. - Time zone parsing is supported in all of BusyCal's localized builds (English, Canadian English, German, French, Italian, Spanish, Dutch, Japanese, Korean, and Simplified Chinese).
Creating Recurring Events
Quick Entry can recognise a wide range of natural-language recurrence phrases and convert them into a repeating event automatically. The recurrence preview appears inline as you type, alongside the parsed title, date, and time.
Simple repeats
Yoga every day at 7am
Standup every weekday at 9:30
Project sync every Tuesday at 10am
Pay rent monthly
Sam's birthday every year on 5/16
Frequency keywords include daily, weekly, monthly, yearly, biweekly / bi-weekly, bimonthly / bi-monthly, and quarterly. You can also write the equivalent every day, every week, every month, every year, or every weekday / every weekend.
Custom intervals
Use every N <unit> for non-default intervals, or every other for every-second occurrences:
Water the plants every 3 days
Team retro every 2 weeks on Friday at 4pm
Inventory check every other Monday
Specific weekdays and ordinal patterns
Soccer practice every Tuesday with John at 6pm
Game night every Friday and Saturday at 8pm
Team meeting at 9am on the second Tuesday of every month
Board review at 10am on the last Thursday of each month
Ordinal words supported in the "Nth weekday of the month" form: first, second, third, fourth, fifth, and last (as well as 1st, 2nd, 3rd, 4th, 5th).
Recurrence end and date windows
Cap a series with until, through, thru, till, or to. To shift the start, use from, starting, starting on, beginning, or beginning on. Both can be combined to form an explicit date window:
Lunch every Tuesday until 2/5
Conference call every Saturday at 12pm PST from April 18 through June 20
Daily standup starting Monday at 9am
Time zones are preserved inside recurrence windows — every Tuesday at 9am PST until February 3 keeps PST on every occurrence, not just the first one.
Notes
- If you want a phrase like
every Tuesdayto appear in the title instead of being interpreted as a recurrence, wrap it in straight quotes:"every Tuesday". - All the recurrence phrases above are also recognised in the localized BusyCal builds for German, French, Italian, Spanish, Dutch, Japanese, Korean, Simplified Chinese, and Canadian English. The phrasing follows each language's conventions — for example,
tous les mardis à 9hin French or毎週火曜日 9時in Japanese.
Creating Tasks
You can create tasks by preceding the text with a hyphen “-”, “todo”, “remember to” or “remind me to.” If a date or time is included, BusyCal creates a dated or timed task. Otherwise, it creates an undated task. For example:
-Call Bob
todo Call Bob tomorrow
-Call Bob tomorrow at 10am
remember to Call Bob next Tuesday
-Call Bob Nov 7
remind me to pick up dry cleaning at 5pm
You can set the priority for a task by appending exclamation points (!). One exclamation point = low priority, two = medium priority, and three = high priority. For example:
Low priority:
-Call Bob!
Medium priority:
-Call Bob!!
High priority:
-Call Bob!!!
You can also set the duration (in minutes) for a task by appending a number within square brackets. This makes it easy to specify how long a task will take. Here are some examples:
Sets a task duration of 10 minutes, starting at 9pm
-Submit draft tomorrow at 9pm [10m]
Sets a task duration of 1 hour without specifying date or time
-Team meeting [1h]
Sets a task duration of 45 minutes
-Client call [45m]
Tasks are added to the default task calendar specified in BusyCal > Settings > Tasks > Default calendar for Tasks, unless you specify a different calendar (see Setting the Calendar below).
Creating Journals
You can create journal entries by preceding the text with a “>”, “memo”, “log” or “journal”. Journal entries default to the current date unless specified. Here are some examples:
>Museum visit
memo Jimmy took his first steps today
log Project launched with hiccups yesterday
Journal entries are added to the default journal calendar specified in settings, unless you specify a different calendar (see Setting the Calendar below).
Adding a Location
If you enter a location preceded by the words in, at or @, the location will be underlined.
If you click on the location, you will have the option to select a structured location,
which will insert the full address into the location field. Here are some examples:
Breakfast with Bob tomorrow at 8am at Streamliner
Staff Meeting Wed 10am @ Conference Room
Study Hall 3pm in Library
Adding a Contact or Attendee
If you enter a person's name preceded by the words call, contact, email, follow up with, or with, the person's
name will be underlined. If you click on the name, you will have the option to add that person as a
Contact (if you're using BusyContacts) or an Attendee.
Here are some examples:
-Call Bob
-Follow up with Bob
Lunch with Bob tomorrow at 1pm
Setting the Calendar
Optionally, you can specify which calendar to create an event or task on by including a slash (/) followed by the calendar name (e.g., ‘/work’) or a unique portion of the calendar name (e.g., ‘/w’). Here are some examples:
New event on Work calendar
Lunch with Joe next Tuesday /work
New event on Work calendar, if no other calendars start with “w”
Lunch with Joe next Tuesday /w
New task on Work calendar
-Call Bob /work
New task on Shopping calendar
-Buy Toner /shop
Use calendar name abbreviations, such as /pjt to match Project Titan. Simply type a sequence of characters that appear in the name.
Team Review Meeting /pjt
Adding a URL
You can include an optional URLin the phrase surrounded by angle brackets (e.g., <www.apple.com>) to include a link to that URL. Here are some examples:
-Buy Toner <www.amazon.com>
Apple Earnings Conference Call Tuesday at 2pm <investor.apple.com>
Editing Events and Tasks Created with Quick Entry
After you create an event with Quick Entry, the event is selected in BusyCal and the Info Panel is displayed, where you can make further changes to the event.
