Not finding Agical on FortRabbit + another quesstion. Re: Introducing Agical.io, the smarter ICS file generator

SanfordWhiteman
Level 10 - Community Moderator

If you've used Marketo's dynamic ICS files (the "Calendar File" token type) you're probably not completely happy with 'em.

About a year ago, I published a (free) microservice that fills in the biggest gaps. With a little more attention on it lately (read: 2 people cared!), I blogged about it.

Read more on TEKNKL :: Blog →

57 REPLIES 57
PascaleC
Level 2

Hi @SanfordWhiteman  Thanks for creating this tool. I would like to create a calendar ics file for a recurring teams meeting. 

Below is the URL I created but  I'm facing the following issues:

  • the time is not showing up correctly on my calendar. It should be at 5 pm CET time for one hour 
  • the link to the teams meeting (attachment) is not working properly, it seems to be cutting after "context".
  • I was hoping to have this meeting bi-weekly. Is that an option? 

 

https://ics.agical.io/?subject=PUG&description= PUG TEST&location=Online meeting&attach=https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjAzZTBjNzctNjNhZi00ZTQwLThlYjEtMzVhZWFhNmJlYTQ3%40thread.v2/0?context=%7b%22Tid%22%3a%227894512c-f554-4de4-bff2-dec418150d4c%22%2c%22Oid%22%3a%226cfc80a5-968a-4322-951d-d4c611942c57%22%7d/&dtstart=2024-08-21T10:00:00Z&dtend=2024-08-21T11:00:00Z&duration=1H&reminder=15&recur=weekly&recuruntil=2024-10-20

 

 

thanks for your help again! 

Pascale Comaty
Tags (2)
PascaleC
Level 2

Hi @SanfordWhiteman I figured out the issue with the timing and the biweekly. But the teams link invite is still breaking when i put it in the description but also in the attachment. Is there something I am doing wrong? 

 

Pascale Comaty
SanfordWhiteman
Level 10 - Community Moderator

Looks like you need to URL-encode the query string of the Teams link in addition to URL-encoding the entire link.

 

You need to URL-encode first because the query contains reserved characters (even in its "plain" form).

 

Then URL-encode the whole link on top of that because it's going into the query string of the Agical URL.

https://ics.agical.io/?subject=PUG&description= PUG TEST&location=Online meeting&attach=https%3A%2F%2Fteams.microsoft.com%2Fl%2Fmeetup-join%2F19%3Ameeting_MjAzZTBjNzctNjNhZi00ZTQwLThlYjEtMzVhZWFhNmJlYTQ3%40thread.v2%2F0%3Fcontext%3D%257B%2522Tid%2522%253A%25227894512c-f554-4de4-bff2-dec418150d4c%2522%252C%2522Oid%2522%253A%25226cfc80a5-968a-4322-951d-d4c611942c57%2522%257D&dtstart=2024-08-21T10:00:00Z&dtend=2024-08-21T11:00:00Z&duration=1H&reminder=15&recur=weekly&recuruntil=2024-10-20

 

PascaleC
Level 2

That worked perfectly! Thanks @SanfordWhiteman !

Pascale Comaty
PascaleC
Level 2

Hi @SanfordWhiteman me again about the agical link. I have changed the recurrence of the meeting to a monthly the 3rd Tuesday of every month. Is this possible to setup? Not sure what to put for the 'recur'fields

 

https://ics.agical.io/?subject=PUG"&location=Online meeting&attach= https%3A%2F%2Fteams.microsoft.com%2Fl%2Fmeetup-join%2F19%3Ameeting_MmMwOWI5ODQtYTA1Yi00MzI1LTkyN2EtYzgxZWFlNzhlZmY0%40thread.v2%2F0%3Fcontext%3D%257B%2522Tid%2522%3A%25227894512c-f554-4de4-bff2-dec418150d4c%2522%2C%2522Oid%2522%3A%25226cfc80a5-968a-4322-951d-d4c611942c57%2522%257D&dtstart=2025-02-18T15:00:00Z&dtend=2025-02-18T16:00:00Z&duration=1H&reminder=15&recur=daily&recurinterval=30&recuruntil=2026-02-20T14:00:00Z

Pascale Comaty
SanfordWhiteman
Level 10 - Community Moderator

Sorry, those options (BYSETPOS and related) aren’t officially supported by Agical at this time.

Tom_Liolios4
Level 4

@SanfordWhiteman  hi there. The app agical.io seems to be down. As of this morning, all calendar links on our pages link to a 403 page.

 

Tried to reach out to Fortrabbit support, as this blog mentions it's hosted there: https://blog.teknkl.com/introducing-agical-io-the-smarter-ics-file-generator/

 

However, their support replied with: The domain you are mentioning agical.io does not seem to be registered here and also does not seem to have any DNS entries.

 

Could you verify whether this can be fixed? 

 

Thank you!

Tom

SanfordWhiteman
Level 10 - Community Moderator

The Agical app itself wasn’t down, which was causing some confusion. We monitor the the standard ics.agical.io every 5 secs.

 

But there was a bug introduced by the hosting service during an unannounced migration to some new infrastructure which unfortunately affected the alternate path /alt_sep/, nothing else, not even the /beta/alt_sep/ was affected. (Not happy about this!) It’s fixed now. They apparently ran the migration on Mon May 15 2023 08:06:00 AM UTC.

Tom_Liolios4
Level 4

Hi Sanford, 

 

Thanks for the feedback and looking into this so quickly. As we're a global company with a big presence in EMEA & APAC, our marketers definitely noticed that it was down around 8 AM UTC.

 

Glad it's resolved!

Darshil_Shah1
Level 10 - Community Advisor + Adobe Champion

It seems to be working for me. I just tried the sample URL Sandy has posted in his Agical blog. Could you share the Agical URL for which you're getting the 403 error?

 

 

TrishVoskoSpear
Level 2

any updates to this? i went to FortRabbit and couldn't find Agical. 

 

Hi @SanfordWhiteman 

 

Is there a new way to do this besides using a 3rd party app like AddEvent or using a tool Like Kalinka to create a link? Main problem we have with these options is that in AddEvent or using Kalinka you can only put in description to use the link they received in confirmation and reminder emails. - you can't being in their personalized login URL via token - {{member.webinar url:default=edit me}}

 

I have users who want a super easy way to do that will also bring in the login url token  like the exisiting calendar token method can,

 

Also, I didn't find Agical.io on FortRabbit so thinking no longer there??

 

It seems no one has a solution yet but I thought if anyone would it would be you!

 

Trish

 

 

SanfordWhiteman
Level 10 - Community Moderator

FortRabbit is just our hosting platform. Agical isn't not listed in their app directory or anything like that (didn't actually know they had one!).

 

Agical can do things none of these platforms can... the reason for Agical's alt_sep option is to allow {{member.webinar url}} to be used in ICS files/Gcal links.

TrishVoskoSpear
Level 2

thanks @SanfordWhiteman 

 

the problem is having marketing users convert date/time to ISO to create tokens. I didn't find any converter out there that would do that for them if they entered in "normal date/time info."

 

I could create links for them but not really scalable - they are looking for a way they can create gcal links themselves easily - hence thinking about AddEvent or just using Kalinka and not being able to put in the webinar URL token. 

 

I was just hoping there was now a way for my users to do themselves without having to know about ISO, UTC times etc.   

 

right now they are just using provided Add to Calendar token but get complaints that they don't work for gcal. 

 

But starting to think no way for them to do themselves without. them learning some basic js stuff. 

 

thoughts?

 

SanfordWhiteman
Level 10 - Community Moderator

the problem is having marketing users convert date/time to ISO to create tokens.


You could set up a Velocity {{my.token}} that does that, Velocity has full fluency in timezones and datetime patterns.

 

But if they just enter datetimes in a String field, any which way they want, that won't work. You'd still have to know what pattern they're using — can't parse just anything that might look like a date through somebody's eyes, you know?

 

It's better for users to learn how to format dates in the world-standard yyyy-MM-dd HH:mm:ss pattern, it'll serve them well everywhere.

Brad_Dambaugh
Level 1

Hello, I'm testing using Agical in Marketo by filling out an event form and triggering an email send to myself through a smart campaign. I included in my autoresponder email the Agical link that I built. I have two params that are working and a few Marketo tokens. The only param I can't seem to get to work is to have the reminder display in the .ics file that I open. Would you have any suggestions to what I could try to get it working. Is that param still working in the code base? Thanks for your help. Here is the Agical URL I have been testing and added to my autoresponder email I'm sending to myself.

Here are the links:

https://ics.agical.io/?subject=Proofpoint%20Event%20{{my.GN-01-Event Name}}&organizer=Proofpoint&reminder=30&location=https://proofpoint.zoom.us/j/96321770618?pwd=SVlwZmUzTjUzek9xMm9FQTYrVVMvdz09&description={{my.EM-04-Short Description}}&dtstart=2021-04-15T02:30:00Z&dtend=2021-04-15T03:30:00&attach=https://proofpoint.zoom.us/j/96321770618?pwd=SVlwZmUzTjUzek9xMm9FQTYrVVMvdz09/

https://ics.agical.io/?subject=Proofpoint%20Event%20{{my.GN-01-Event Name}}&organizer=Proofpoint&reminder=30&location=https://proofpoint.zoom.us/j/96321770618?pwd=SVlwZmUzTjUzek9xMm9FQTYrVVMvdz09&description={{my.EM-04-Short Description}}&dtstart=2021-04-15T02:30:00Z&dtend=2021-04-15T03:30:00&attach=https://proofpoint.zoom.us/j/96321770618?pwd=SVlwZmUzTjUzek9xMm9FQTYrVVMvdz09/;format=gcal;preencoded=false



Thanks!

Jo_Pitts1
Level 10 - Community Advisor

@Brad_Dambaugh 

one thing from @SanfordWhiteman 's original blog post:

Google Calendar typically doesn't use the reminder time in the ICS file, instead using the lead's default reminder time. (For example, it'll set an alarm for 30m before instead of 45m before.) Better than no reminder at all! Yet sometimes Gcal does accept the "T-minus" time exactly as-is. Haven't been able to put my finger on what's different in those cases.

 

Are you viewing on GCal?  If so, maybe that's the problem?

 

Cheers

Jo

Jyotsna_Gupta1
Level 1

Hi Sanford Whiteman‌,

Pinging on agical again.

How can we set the recurrence to occur every fortnight? Or Can we set recurrence to occur after (n) days?

Thanks,

Jyotsna

SanfordWhiteman
Level 10 - Community Moderator

Fortnight, meaning every 2 weeks? Isn't that already an option

recur=daily&recurinterval=14‍
Scott_Springer
Level 1

Hi Sanford, I've been testing your Agical.io service and it's very helpful to generate dynamic ICS files.

Could you tell me if there is a way to use the service without the "Z" GMT timezone hard coded in the ICS file. 

The reason is that we have date and time fields which are in coded in "local time" for a given client which already takes account Daylight Savings via the CRM. These fields work for text based appointment email reminders, but we would like to create an Add-To-Calendar function using local time.

Just for added context, we do have the DateTime ISO standard field, but its getting fed into Marketo via API which converts it to CST/CDT. To make this work for Australian time zones which also has Daylight Savings at a different time of year, I tried using the inbound/outbound time zone offset, and also tried manual offset, but i think there is no common reference point so that they adjust automatically all year round.

So far couldn't find a way to account for the two different daylight savings periods (Marketo USA + Australia), so I'm interested to know about the local time calendar option.

First time poster, I researched a lot on the topic, so hope this is right place. All other ideas welcome, we do a lot of appointment based communications, so I'll share our learnings as we go.

Scott_Springer
Level 1

So far, we have found a solution that will work following this method: https://nation.marketo.com/thread/47691-timezone-of-timestamps-on-custom-fields-of-opportunity-objec....

Somehow, our "outTimeZone" from the proposed solution needed to be "Etc/UTC" rather than the Australia time zone, perhaps this is due to our source data having a built-in offset already.

  1. #set ($inTimeZone = $date.getTimeZone().getTimeZone('US/Central') )    
  2. #set ($outTimeZone = $date.getTimeZone().getTimeZone('Australia/Sydney') )    

If I've understood this right, the US/Central time zone will automatically update the required offset when Daylight Savings occurs. And we don't need to worry about the Australian time zones, since they are already captured in ISO DateTime format which should be relative to the Marketo time zone.

This Agical.co solution is critical to our post-appointment reminder system, many thanks to the creator and the forum shares.