Agenda Agenda
  • Home
  • Features
  • Widgets
  • Tasker Guide
  • Privacy
  • Terms
  • Contact
  • العربية

Tasker Integration Guide

Complete guide to Agenda's Tasker plugins

Summary: Agenda provides 9 Tasker plugins for full automation of your appointments. Use Actions to create, complete, delete, query, and toggle reminders. React to Events when reminders fire or appointments are completed. Monitor States to know when appointments are happening now or are overdue.

Type Count Description
Action 5 Perform operations on appointments
Event 2 React to appointment-related triggers
State 2 Monitor real-time appointment conditions

Table of Contents

  • Actions
  • Create Appointment
  • Complete Appointment
  • Delete Appointment
  • Query Appointments
  • Toggle Reminder
  • Events
  • Appointment Reminder
  • Appointment Completed
  • States
  • Has Appointments Now
  • Has Overdue Appointments
  • Reference Values
  • Examples
  • Troubleshooting

Requirements

  • You must install the Tasker app separately from Google Play.
  • Agenda's plugins appear automatically in Tasker's plugin list once both apps are installed.

Action Actions

Actions let you perform operations on appointments from Tasker. Agenda provides 5 action plugins.

Create Appointment

Creates a new appointment with full control over all fields.

Input Parameters

Parameter Type Required Default Format
title String Yes - -
description String No empty -
location String No empty -
date String No today + 1h yyyy-MM-dd
time String No 09:00 HH:mm
endTime String No - HH:mm
isAllDay Boolean No false -
category String No PERSONAL See Categories
priority String No MEDIUM See Priorities
reminderEnabled Boolean No true -
reminderTime String No FIFTEEN_MIN See Reminder Times
notes String No empty -
repeatMode String No NONE See Repeat Modes

Output Variables

Variable Type Description
%appointment_id Long The ID of the created appointment, or -1 on failure
%appointment_title String The title of the created appointment
%appointment_date String The date in yyyy-MM-dd format
%success Boolean Whether the operation succeeded

Complete Appointment

Marks an existing appointment as completed. You can identify the appointment by its ID or title. At least one must be provided; if both are given, appointmentId takes priority.

Input Parameters

Parameter Type Required Description
appointmentId Long No* The appointment ID (takes priority over title)
title String No* The appointment title (used if ID is not provided)

* At least one of appointmentId or title is required.

Output Variables

Variable Type Description
%success Boolean Whether the operation succeeded
%appointment_id Long The ID of the completed appointment

Note: Completing an appointment fires the Appointment Completed event. If the appointment is recurring, the next occurrence is automatically created.

Delete Appointment

Permanently deletes an appointment. You can identify the appointment by its ID or title. At least one must be provided; if both are given, appointmentId takes priority.

Input Parameters

Parameter Type Required Description
appointmentId Long No* The appointment ID (takes priority over title)
title String No* The appointment title (used if ID is not provided)

* At least one of appointmentId or title is required.

Output Variables

Variable Type Description
%success Boolean Whether the operation succeeded
%appointment_id Long The ID of the deleted appointment

Note: Deleting an appointment cancels all pending reminders associated with it.

Query Appointments

Retrieves appointments matching specified criteria. Returns results as Tasker arrays.

Input Parameters

Parameter Type Required Default Description
queryType String No TODAY The type of query to perform
startDate String No - Start date for DATE_RANGE (yyyy-MM-dd)
endDate String No - End date for DATE_RANGE (yyyy-MM-dd)
category String No - Filter by category
limit Int No 10 Maximum number of results

Query Types

Value Description
TODAY Appointments scheduled for today
TOMORROW Appointments scheduled for tomorrow
UPCOMING All future appointments
OVERDUE Uncompleted appointments whose date/time has passed
DATE_RANGE Appointments within startDate and endDate

Output Variables (per appointment)

Variable Type Description
%title String Appointment title
%date String Appointment date
%time String Appointment time
%category String Appointment category
%priority String Appointment priority
%location String Appointment location
%is_completed Boolean Whether the appointment is completed
%id Long Appointment ID

Note: When multiple appointments are returned, the output variables are arrays. Access individual items using Tasker array notation, e.g., %title(1), %title(2), etc.

Toggle Reminder

Enables or disables the reminder for a specific appointment.

Input Parameters

Parameter Type Required Default Description
appointmentId Long Yes - The appointment ID
enabled Boolean No true Whether to enable or disable the reminder

Output Variables

Variable Type Description
%success Boolean Whether the operation succeeded
%appointment_id Long The appointment ID

Note: When enabling a reminder, the system schedules the alarm. When disabling, the pending alarm is cancelled.

Event Events

Events let Tasker react when something happens in Agenda. Agenda provides 2 event plugins.

Appointment Reminder

Fires when a reminder notification is shown for an appointment.

Output Variables

Variable Type Description
%appointment_id Long The appointment ID
%title String The appointment title
%category String The appointment category
%priority String The appointment priority
%datetime String The appointment date and time
%location String The appointment location

When it fires: This event fires when the reminder notification is displayed. It only fires for active (non-completed) appointments with reminders enabled.

Appointment Completed

Fires when an appointment is marked as completed.

Output Variables

Variable Type Description
%appointment_id Long The appointment ID
%title String The appointment title
%category String The appointment category
%priority String The appointment priority
%datetime String The appointment date and time
%location String The appointment location

When it fires: This event fires when an appointment is completed from the app UI, from a notification action, or from the Tasker Complete Appointment action.

State States

States let Tasker monitor ongoing conditions in Agenda. Agenda provides 2 state plugins.

Has Appointments Now

This state is true when there are active appointments happening at the current time.

Configuration

No configuration required. The state activates and deactivates automatically.

How It Works

  • An appointment is considered "happening now" when: dateTime <= now <= endDateTime
  • If no end time is set, the appointment is assumed to last 1 hour: dateTime <= now <= dateTime + 1h
  • Only active (non-completed) appointments are considered.

Has Overdue Appointments

This state is true when there are uncompleted appointments whose scheduled date and time has passed.

Configuration

No configuration required. The state activates and deactivates automatically.

How It Works

  • An appointment is considered "overdue" when its scheduled date/time has passed and it has not been completed.
  • The state becomes true as soon as any appointment becomes overdue, and returns to false when all overdue appointments are completed or deleted.

Reference Values

The following tables list all valid values for the string parameters used across Agenda's Tasker plugins.

Categories

Value Description
WORKWork-related appointments
PERSONALPersonal appointments
HEALTHHealth and medical appointments
MEETINGMeetings
FAMILYFamily-related appointments
EDUCATIONEducational appointments
FINANCEFinancial appointments
OTHEROther / uncategorized

Priorities

Value Description
LOWLow priority
MEDIUMMedium priority (default)
HIGHHigh priority
URGENTUrgent priority

Reminder Times

Value Description
FIVE_MIN5 minutes before
TEN_MIN10 minutes before
FIFTEEN_MIN15 minutes before (default)
THIRTY_MIN30 minutes before
ONE_HOUR1 hour before
TWO_HOURS2 hours before
ONE_DAY1 day before

Repeat Modes

Value Description
NONENo repetition (default)
DAILYRepeat every day
WEEKLYRepeat every week
MONTHLYRepeat every month
YEARLYRepeat every year

Practical Examples

Here are 10 practical automation examples using Agenda's Tasker plugins.

1. Daily Standup Meeting Creator

Goal: Every Sunday at 8 PM, automatically create standup meeting appointments for the entire upcoming work week (Monday through Friday).

Profile: Time → Every Sunday at 20:00

Task: Create Week Standup Meetings A1: Variable Set [%day_offset to 1] A2: For [%i from 1 to 5] A3: Variable Set [%meeting_date to %DATE + %day_offset days, format yyyy-MM-dd] A4: Plugin → Agenda: Create Appointment title: "Daily Standup Meeting" date: %meeting_date time: "09:00" endTime: "09:30" category: "MEETING" priority: "HIGH" reminderTime: "FIFTEEN_MIN" repeatMode: "NONE" A5: Variable Add [%day_offset + 1] A6: End For A7: Flash "Created 5 standup meetings for the week"

2. Smart Notification on WiFi Arrival

Goal: When you connect to your office WiFi, query today's work appointments and show a summary notification.

Profile: State → Wifi Connected [SSID: Office_WiFi]

Task: Show Work Appointments A1: Plugin → Agenda: Query Appointments queryType: "TODAY" category: "WORK" limit: 10 A2: Variable Set [%count to %title(#)] A3: If [%count > 0] A4: Variable Set [%summary to ""] A5: For [%i from 1 to %count] A6: Variable Set [%summary to %summary + %time(%i) + " - " + %title(%i) + "\n"] A7: End For A8: Notify [Title: "Today's Work Schedule (%count)" Text: %summary Icon: calendar] A9: Else A10: Notify [Title: "No work appointments today" Text: "Your schedule is clear!"] A11: End If

3. Auto-Complete Past Appointments

Goal: Every night at 11 PM, query all overdue appointments and mark them as completed automatically.

Profile: Time → Every day at 23:00

Task: Complete Overdue Appointments A1: Plugin → Agenda: Query Appointments queryType: "OVERDUE" limit: 50 A2: Variable Set [%count to %title(#)] A3: If [%count > 0] A4: For [%i from 1 to %count] A5: Plugin → Agenda: Complete Appointment appointmentId: %id(%i) A6: End For A7: Flash "Completed %count overdue appointments" A8: Else A9: Flash "No overdue appointments found" A10: End If

4. Meeting Reminder with TTS

Goal: When an appointment reminder fires, announce the meeting details aloud using text-to-speech.

Profile: Event → Plugin → Agenda: Appointment Reminder

Task: Announce Meeting A1: Say ["You have an upcoming appointment: %title, scheduled at %datetime, category: %category, priority: %priority"] A2: If [%location is set] A3: Say ["Location: %location"] A4: End If A5: Wait [2 seconds] A6: Say ["Don't forget to prepare!"]

5. Completion Celebration

Goal: Play a celebration sound and show a notification whenever you complete an appointment.

Profile: Event → Plugin → Agenda: Appointment Completed

Task: Celebrate Completion A1: Media Play File [File: /sdcard/Notifications/celebration.mp3 Stream: Notification] A2: Notify [Title: "Appointment Completed!" Text: "Well done! You completed: %title" Icon: check_circle Priority: High] A3: Flash "Great job completing '%title'!"

6. DND During Appointments

Goal: Automatically enable Do Not Disturb mode while an appointment is happening, and disable it when the appointment ends.

Profile: State → Plugin → Agenda: Has Appointments Now

Enter Task: Enable DND A1: Do Not Disturb [Mode: Priority Only] A2: Flash "DND enabled - appointment in progress" Exit Task: Disable DND A1: Do Not Disturb [Mode: Off] A2: Flash "DND disabled - appointment ended"

7. Overdue Alert Loop

Goal: While overdue appointments exist, send a persistent notification every 30 minutes reminding you to deal with them.

Profile: State → Plugin → Agenda: Has Overdue Appointments

Enter Task: Overdue Alert A1: Plugin → Agenda: Query Appointments queryType: "OVERDUE" limit: 10 A2: Variable Set [%count to %title(#)] A3: Notify [Title: "You have %count overdue appointments!" Text: "First overdue: %title(1) on %date(1)" Icon: warning Priority: Max Ongoing: true ID: 999] Exit Task: Clear Alert A1: Notify Cancel [ID: 999] A2: Flash "All overdue appointments resolved"

8. Create Appointment via Voice

Goal: Use voice input to quickly create an appointment with a spoken title, then confirm with a notification.

Profile: Shortcut → Task Shortcut (or widget tap)

Task: Voice Appointment A1: Get Voice [Title: "Say the appointment title"] A2: If [%VOICE is set] A3: Plugin → Agenda: Create Appointment title: %VOICE category: "PERSONAL" priority: "MEDIUM" reminderTime: "FIFTEEN_MIN" A4: If [%success eq true] A5: Flash "Created: %VOICE" A6: Notify [Title: "Appointment Created" Text: "%VOICE on %appointment_date"] A7: Else A8: Flash "Failed to create appointment" A9: End If A10: Else A11: Flash "No voice input detected" A12: End If

9. Weekly Report via Notification

Goal: Every Friday at 6 PM, generate a summary of the upcoming week's appointments and display it as a notification.

Profile: Time → Every Friday at 18:00

Task: Weekly Summary A1: Variable Set [%start to %DATE + 3 days, format yyyy-MM-dd] A2: Variable Set [%end to %DATE + 7 days, format yyyy-MM-dd] A3: Plugin → Agenda: Query Appointments queryType: "DATE_RANGE" startDate: %start endDate: %end limit: 50 A4: Variable Set [%count to %title(#)] A5: If [%count > 0] A6: Variable Set [%summary to ""] A7: For [%i from 1 to %count] A8: Variable Set [%summary to %summary + %date(%i) + " " + %time(%i) + " - " + %title(%i) + "\n"] A9: End For A10: Notify [Title: "Next Week: %count appointments" Text: %summary Icon: calendar Priority: High] A11: Else A12: Notify [Title: "Next week is clear!" Text: "No appointments scheduled for next week." Icon: calendar] A13: End If

10. Toggle Reminders Based on Location

Goal: When your car's Bluetooth connects, disable reminders for your next appointment (assuming you are already on your way). Re-enable when Bluetooth disconnects.

Profile: State → BT Connected [Name: Car_BT]

Enter Task: Disable Reminder A1: Plugin → Agenda: Query Appointments queryType: "TODAY" limit: 1 A2: If [%id(1) is set] A3: Plugin → Agenda: Toggle Reminder appointmentId: %id(1) enabled: false A4: Flash "Reminder disabled for: %title(1)" A5: End If Exit Task: Re-enable Reminder A1: Plugin → Agenda: Query Appointments queryType: "TODAY" limit: 1 A2: If [%id(1) is set] A3: Plugin → Agenda: Toggle Reminder appointmentId: %id(1) enabled: true A4: Flash "Reminder re-enabled for: %title(1)" A5: End If

Troubleshooting

Here are solutions to common issues you might encounter when using Agenda's Tasker plugins.

Plugins Not Appearing in Tasker

  • Ensure both Agenda and Tasker are installed on your device.
  • Restart the Tasker app completely (force stop and reopen).
  • If the issue persists, reinstall Agenda and reopen Tasker.

Actions Failing or Returning Errors

  • Check that all required parameters are provided and correctly formatted.
  • Verify that date formats use yyyy-MM-dd and time formats use HH:mm.
  • Ensure category, priority, reminder time, and repeat mode values match the exact strings listed in the Reference Values section.
  • For Complete and Delete actions, verify that the appointment ID exists or the title matches an existing appointment.

Events Not Firing

  • Ensure Tasker is running in the background and has not been killed by the system.
  • Disable battery optimization for both Tasker and Agenda in your device settings.
  • Check that Tasker's event monitoring is active (Tasker should show an active notification).
  • Verify that the appointment has reminders enabled (for the Reminder event).

States Not Updating

  • Restart Tasker's monitoring by toggling the Tasker service off and on.
  • Ensure battery optimization is disabled for both apps.
  • Verify that appointments exist that match the state conditions (e.g., active appointments happening now, or uncompleted overdue appointments).
  • If the state seems stuck, force stop Tasker and reopen it.

Agenda

Smart appointment management app. Your data is stored locally on your device only.

App

  • Features
  • Widgets
  • Google Play

Legal

  • Privacy Policy
  • Terms of Service

Contact

  • android@aldaghir.com
  • Contact Page
© 2026 Agenda. All rights reserved. Made with ❤