Step 4 — Calendar, Reminders, Contacts
Step 4 · Its Tools
This is the step where the agent first does something real. It is also the step with the nastiest gotcha, so read the whole page before you start.
The approach: reach the data directly
Section titled “The approach: reach the data directly”There are two ways an agent gets to your calendar. You can authorise it against a cloud service, or you can let it read the same data your applications already use.
I chose the second. The machine’s own calendar, reminders and contacts data is available locally, and a small command-line tool can read and write it directly. No third-party service, no second copy of my household’s data, nothing to sync.
The tool I use is Apple PIM Agent Plugin — small command-line utilities that talk to the same calendar, reminder and contact stores the built-in applications use.
Do this
Section titled “Do this”- Install the command-line tools on the agent’s machine.
- Run one of them by hand, as the agent’s user, from a terminal. This is the important part — see below.
- Approve the permission prompt that appears. The operating system will ask whether this tool may access your calendar, reminders and contacts. You must be sitting at the machine to click it.
- Share the calendars with the agent’s identity, granting read and write to the family calendar only.
- Share the reminder lists the agent should use. Not all of them.
- Leave contacts read-only.
- Verify by asking it a question with a known answer. “What is on the family calendar tomorrow?” — compare with what you can see.
The gotcha that costs an evening
Section titled “The gotcha that costs an evening”The permission prompt only appears when the tool runs in a context that has a graphical session. Run it by hand first, from a terminal you have opened at the machine, and approve the prompt.
If you skip this and go straight to running it from a background job, the tool hangs. Not fails — hangs. It waits for a permission dialog that cannot be displayed, and produces no error you can act on. This cost me an evening and it is the single most common setup problem in this whole blueprint.
Do this once, at the keyboard, before anything is scheduled. Then it works forever.
Rule of thumb for everything in this blueprint that touches the operating system’s own data: run it by hand first, at the machine. Permissions are granted to the context that asks, and a background job cannot ask.
What to grant
Section titled “What to grant”| Data | Access | Reasoning |
|---|---|---|
| Family calendar | Read and write | Its work appears where the household already looks |
| Personal or work calendars | None, or read-only at most | Not its business |
| Shared reminder lists | Read and write | Lists the household already checks |
| Contacts | Read only | It needs to resolve who a person is. It does not edit the address book |
Checkpoint
Section titled “Checkpoint”- A calendar question returns the correct answer
- The agent can create an event, and you can see it in your own calendar application
- It can add to a reminder list, and you can see it
- It cannot see the calendars you did not share
- It has never hung on a permission prompt, because you approved it once at the keyboard