Automatizar la creación de recordatorios desde Mail

codigo

Mi sistema de organización y trabajo está basado en diferentes aplicaciones de distintos fabricantes, todos ellos bajo el ecosistema Apple. Enlazar elementos de unas aplicaciones con otras y automatizar ciertas acciones supone un ahorro de tiempo importante a lo largo de la semana. Veamos cómo automatizar la creación de recordatorios desde Mail

Mi sistema de productividasd está basado (que no quiere decir que lo siga según marcan los cánones) en GTD, de manera que lo primero que hago por las mañas es procesar la bandeja de entrada de las distintas cuentas de correo electrónico.

Una de las acciones que más comúnmente realizo al procesar esas bandejas de entrada -en Apple Mail– es, siguiendo GTD, aplazar la realización de la tarea, relativa al correo que estoy leyendo, creándola en la bandeja de entrada del software de gestión de tareas, 2Do.

Uno de los aspectos más importantes al crear dicha tarea es vincularla con el correo, de modo que queden enlazados y pueda abrir el susodicho correo desde la aplicación de gestión de tareas como posible material de referencia.

Para automatizar dicha acción y enlazar la tarea que quiero generar con el correo he creado el siguiente script de macOS con Apple Script, que puedes descargarlo desde aquí.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- Crea una tarea en Recordatorios a la llista especificada en  remindersInbox con un enlace al correo
-- Mueve el correo a la carpeta especificada en toDoMessageFolder
 
 
--Constantes
set theFlagColor to 0 -- Color rojo de la marca del correo
set toDoMessageFolder to "2Do" -- Carpeta de mensajes que requieren acción
set remindersInbox to "Safata d'entrada" -- Lista a usar como Inbox
 
-- Capturar informació de Mail
tell application "Mail"
	--Obtenemos información sobre el correo
	set theSelection to selection
	set theMessage to item 1 of theSelection
	set theURL to "message://%3c" & theMessage's message id & "%3e"
	set theContent to theMessage's content
	set theSubject to theMessage's subject
	set messageAccount to account of mailbox of theMessage
 
	-- Marcamos el correo
	set flagged status of theMessage to true
	set flag index of theMessage to theFlagColor
 
	-- Trasladamos el correo fuera de la bandeja de entrada (Inbox 0)
	try
		move theMessage to mailbox toDoMessageFolder of messageAccount
	on error
		--Revertimos marca
		set flagged status of theMessage to false
 
		display alert "Error" message "Ha ocurrido un problema con la carpeta " & toDoMessageFolder as critical buttons {"OK"}
		return
	end try
end tell
 
-- Crear tasca a la llista de Inbox
tell application "Reminders"
	try
		set myInboxList to list remindersInbox --Lista de inbox para recordatorios
		tell myInboxList
			make new reminder with properties {name:theSubject, body:theURL}
		end tell
	on error
		display alert "Error" message "ha ocurrido un problema con la lista de tareas " & remindersInbox as critical buttons {"OK"}
	end try
	quit
end tell

A tener en cuenta con este script:

  • La constante «toDoMessageFolder» contiene el nombre, en Apple Mail, que la carpeta donde se moverán los correos sobre los que ejecutes este script. Esa carpeta debes crearla antes de ejecutar el script en cada una de las cuentas de correo sobre las que vayas a ejecutar el script (set toDoMessageFolder to «AQUÍ VA EL NOMBRE DE LA CARPETA QUE HAS CREADO»)
  • La constante «remindersInbox» contiene el nombre de la lista de la app 2Do (o Recordatorios) que usas como contenedora de de todo aquello que en GTD se denomina capturar o recopilar. Esta lista no sé cómo se llamará en tu app de tareas, pero es el nombre que debes poner entre las comillas (set remindersInbox to «AQUÍ VA EL NOMBRE DE TU LISTA EN LA QUE CAPTURAS»)

Quizás os sorprenda un poco que use como aplicación de gestión de tareas 2Do y que en el script esté creando la tarea en Apple Reminders; eso es así porque 2Do accede a la misma base de datos que Reminders (vía protocolo CalDAV), ergo cualquier alta, baja o modificación de un elemento en Reminders se encuentra en 2Do (y viceversa).

Como vemos, automatizar la creación de recordatorios desde Mail es muy sencillo con Apple Script. Espero os resulte de utilidad.