PowerShell module to grab meetings from Outlook and create them in Todoist as tasks.
- Desktop version of Outlook
- Todoist
You will need your Todoist API token.
Important
This script only works with the desktop version of Outlook
- Grab the
Get Outlook Meetings.psm1module - Import it into your PowerShell script
Import-Module "PATH_TO_MODULE\Get Outlook Meetings.psm1"
- Call the
Get-Meetingsfunction with required flagsGet-Meetings -TodoistToken $token -TodoistProjectID $projectID -StartDate $Start -EndDate $End -OutlookDisplayName "Last, First"
The module will connect to your desktop Outlook and get all meetings that fall within the start and end dates. The module is currently setup to ignore any reoccurring meetings as those can cause some issues.
It will do it's best to determine if a task already exist in Todoist for the meeting. It looks for any tasks that have the same name and start time as the meeting. If the meeting already exist in Todoist, then it will not create it.
If it can't find a task that has the same name and start time as the meeting, then it will create a task in Todoist.
The script will assign a label called "assistant" to each task it creates. This makes it easy to create a filter in Todoist that find all the tasks that this script creates.
Use the -OutlookDisplayName to pass in how your name shows in Outlook. This is used by the script to assign additional labels:
| Label | Description |
|---|---|
| meeting (required) | If your name is in the "To" field of the meeting. |
| meeting (optional) | If your name is in the "CC" field of the meeting. |
The script will write to the terminal what it is doing
There are several parameters you can pass to the Get-Meetings function.
| Parameter | Description | Mandatory | Default Value |
|---|---|---|---|
| TodoistToken | Your Todoist API token | Yes | None |
| TodoistProjectID | The ID of the project you want to add the meetings as tasks to | Yes | None |
| StartDate | The start date. Meetings must start on or after this date to be included | Yes | Current date |
| EndDate | The end date. Meetings must start on or before this date to be included | Yes | 8 days from today |
| OutlookDisplayName | Your name as show in Outlook (I.E. "Lastname, Firstname") | Yes | None |
