[Productivity] Calendar Skill

Skill name: calendar-skill

User story:

  • As a busy person, I want to be able to hear my daily schedule via voice so that I can know what my schedule is without having to look at my phone, so that I can be more organised

  • As a busy person, I want to be able to see my daily schedule on my Mycroft device without having to look at my phone, so that I can be more organised

  • As a busy person, I want to be able to hear a weekly overview or summary of my schedule on my Mycroft device so that I can be more organised

What third party services, data sets or platforms will the Skill interact with?

This is the big question. There are several calendaring applications that we could potentially interact with. We could even build a Skill that allows the user to specify which calendaring service they would like to connect to.

Some that come to mind include:

We might also want to integrate using a protocol rather than a specific platform - like WebDAV or ics.

Are there similar Mycroft Skills already?

What will the user Speak to trigger the Skill?

  • Hey Mycroft, what's my schedule for today?
  • Hey Mycroft, what's my schedule for {{day}}?
  • Hey Mycroft, what's next on my calendar?
  • Hey Mycroft, add a new event on my calendar for {{day}} => converse()
  • Hey Mycroft, how many appointments are on my calendar for {{day}}?
  • Hey Mycroft, when's the next free time in my calendar?

What phrases will Mycroft Speak?

  • You have {{number_of_events}} on your schedule for today. They are {{event}} at {{event_location}}, followed by … {{event_n}}

  • You have {{number_of_events}} on your schedule for {{day}}. They are {{event}} at {{event_location}}, followed by … {{event_n}}

  • Next up you have {{event}}, followed by {{next_event}}

  • Sure, I’ve added {{event}} to your calendar for {{time}} on {{day}}

What Skill Settings will this Skill need to store?

  • user’s timezone
  • common meeting locations

Other comments?

This one’s going to be difficult to do but is going t add a lot of value for end users.

@KathyReid,
I agree this would be invaluable. I have actually considered giving my Mycroft unit it’s own gmail (or similar) account so it can have it’s own e-mail address (send or respond via e-mail for commands) “eg. send e-mail to Mycroft to turn on the porch lights as I am going to be late, responds with an e-mail confirming the action”. Also Mycroft would maintain its own calendar and sync to mine.

2 Likes

If I was going to send messages to a Mycroft remotely, I’d be tempted to set it up to do it over IRC or the like. Could even have multiple Mycroft units (and possibly other types of devices as well?) “talk” to each other that way.

Heck, IRC used to be the preferred way to run a botnet, and while custom web services have apparently taken over as the most popular way nowadays, almost as many are still using the old tried-and-true IRC approach instead of the “new” approach.

I know, a handfull of Mycroft units and whatever other devices may be talking to them is different than a botnet, but I still think that having them communicating with each other that way could be a handy trick to “borrow” from botnets still.

4 Likes

This has my vote - but for me, it’s only useful if Mycroft supports Calendaring Extensions to WebDAV (“CalDAV”), as I have my own domain (“website”) and my calendar is synchronized in multiple places using this “open” protocol…

4 Likes

I have Nextcloud Running on my own server at home and I agree that this skill, and mycroft in general, should support open Protocols like CalDAV for Calendar - which is also good for syncing tasks - and CardDav for Contacts. I rthink that it is really important for an Open-Source Project to support Open Protocols.

In generell I think it would be really cool to have mycroft fully interacting with OwnCloud / Nextcloud becouse these are Open-Source projects too and a lot of peaple who like OwnCloud / Netxtcloud would probably also like Mycroft!

3 Likes

Actually that’s a great idea. Anyone want to write up a Nextcloud Skill Suggestion?

1 Like

I second this. If I wanted Google Calendar I would’ve bought a Google Home assistant.

CalDAV, ics, local clients etc. would be preferred, altough CalDAV would probably be the most useful in terms of connectivity.

2 Likes

Great comments, all.

We’re hearing you - CalDAV, .ics appear to be the preferred integration standards / platforms for this Skill. You can always export your Google Calendar into another format if needed, as you can from Outlook and other proprietary platforms. Support the ‘standard’ or ‘protocol’ first.

3 Likes

Just to let you all know, I’ve been developing a calendar skill which supports CalDAV and local ics files. It might take another weekend or so for me to finish the first iteration but I’ll update this once I’m done.

3 Likes

Alright, this got a bit behind and I know is isn’t

after the last post, but I’ve created a pretty simple calendar skill. Right now, it supports an ics file or a CalDav server.

Features (as of now - I’m going to add more):

  • Listing of the events on a given day
  • Adding an event to the calendar.

It works alright feel free to install and use. Once I fix things up, I’ll create a skills feedback post here on the forum. (no time guarantees!)

Link to the calendar skill : https://github.com/LinusS1/calendar-skill

3 Likes

hey, i’m using this google calendar skill https://github.com/forslund/gcalendar_skill, a button appered on home.mycroft.ai saying to connect so i did but then i wanted to use a diffrent email but i wasn’t able to change the email, can anyone help me ? thanks

1 Like

Hi @ghaith_bhs, if you want to remove the existing settings there is a button on each skill settings panel that looks like a refresh icon. This deletes those settings.

Currently the whole settings block will disappear until one of your devices tries to access them from home.mycroft.ai so after you’ve done this, if you restart your Mycroft device it will trigger that to happen and you should then be able to enter new settings.

If anyone is reading this in the future, we are currently revamping home.mycroft.ai so this will be different in a few weeks time.

2 Likes

Alright everyone, I have finished the first part of the calendar skill! It supports CalDAV and ics files, which you can copy from other places. It’s mostly stable (with just a few little annoyances), and is ready to be used! You can also use the feedback post to post feedback about the skill!

2 Likes

If it supports CalDAV files, does that mean it supports OwnCloud along with NextCloud?

1 Like

@builderjer I poked around for a little bit and it seems so :partying_face: ! All you need to access Owncloud/Nextcloud is the:

  • Username + password (Probably to your account, but check!)
  • Port
  • Address
2 Likes

Hello, I’m just wondering if anyone is still working on a “Calendar Skill” for Mycroft compatible with CalDAV? I don’t see anything at https://github.com/linuss1/calendar-skill . Thanks.

1 Like

I’m working on a CalDAV port to Skill Alerts. The functionality is already working locally (tested with nextcloud; including VEVENT and VTODO, ie calendar and notes), but i’ve somewhat broadend the scope to fix some other stuff that needs fixing.

1 Like

After seeing the banner from @NeonClary I would like to bring this suggestion up for vote.

3 Likes