PipedreamHQ / pipedream

Connect APIs, remarkably fast. Free for developers.
https://pipedream.com
Other
8.9k stars 5.27k forks source link

[APP] iCal Public Link #13593

Closed vunguyenhung closed 1 month ago

vunguyenhung commented 2 months ago

Name of app / service iCal

This is not tied to to a specific service. Sources in this app should accept a public url serving an ical file (for example https://mergecal.org/calendars/f7285c8b-5a1d-4956-8f4e-d97ac1693e77.ical)

The app should be a placeholder similar to RSS.

Is lack of support preventing you from building workflows, or do you have a workaround? Yes

Are there specific actions, or triggers, you'd like to see for this app? Please let us know here or use the Action and Trigger issue templates to open requests for each!

abe-101 commented 2 months ago

Pipedream has a simular trigger but its specific for google calendar https://github.com/PipedreamHQ/pipedream/blob/master/components/google_calendar/sources/new-or-updated-event-instant/new-or-updated-event-instant.mjs

I think the same concept can be applied more broadly to any calendar feed

sergio-eliot-rodriguez commented 1 month ago

A base integration accessing a publicaly available iCal file and returning its contents in JSON format has been released. https://pipedream.com/apps/ical

App developers should get to developer related sources soon.

abe-101 commented 1 month ago

Can I make a suggestion? the python example on site (https://pipedream.com/apps/ical) returns an error that is because you cannot simply convert ical into json

you need to make use of a library like https://github.com/collective/icalendar

a better example my be

import requests
from icalendar import Calendar

def handler(pd: "pipedream"):
  r = requests.get(f'{pd.inputs["ical"]["$auth"]["url"]}')
  cal = Calendar.from_ical(r.text)  
  # Export the data for use in future steps
abe-101 commented 1 month ago

there is an open issue regarding adding suport for json https://github.com/collective/icalendar/issues/703

andrewjschuang commented 1 month ago

@abe-101 thanks for your suggestion!

sergio-eliot-rodriguez commented 1 month ago

thanks @abe-101 and @andrewjschuang i have flagged this to Product