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.
Yep, the key is to remember that the absence of an explicit timezone doesn't mean a timezone isn't silently used as part of the conversion to a date.
That's why you need to explicitly state the tz in both directions. Also, for future reference, make sure to read this: https://blog.teknkl.com/velocity-days-and-weeks/
Hi there,
I would like to have a url in the calendar description. The problem is the URL has UTM codes in there using & , it works perfectly for ics file but not for gcal. Even with %26 or & . It stops the description where the first & appears. I tried for both the beta/alt_sep version and the regular version of the agical link.
http://ics.agical.io/beta/alt_sep/?subject=This is a test: Again;description=Click here to attend: https://www.google.com/?utm_source=Overhere&utm_medium=testthis&utm_campaign=44444 You can test https://www.google.com/;dtstart=2019-09-05T15:00:00z;dtend=2019-09-05T16:00:00z;organizer=@this.com;location=Here;format=gcal;preencoded=true
http://ics.agical.io/beta/alt_sep/?subject=This is a test: Again;description=Click%20here%20to%20attend%3A%20https%3A%2F%2Fwww.google.com%2F%2F15345%2F312187%3Futm_source=Overhere%26utm_medium=testthis%26utm_campaign=44444 You can test https%3A%2F%2Fwww.google.com;dtstart=2019-09-05T15:00:00z;dtend=2019-09-05T16:00:00z;organizer=@this.com;location=Here;format=gcal;preencoded=true
How do I make the & work here?
You want
preencoded=false
because indeed you are not pre-URL-encoding the nested URL.
Please don't use /beta/, though, unless I've specifically mentioned that something is new/fixed in the Beta version only.
Excellent, thank you Sanford
Thanks again, but you said you changed GCal mode so it replaces \n with <br> automatically. It didn't change automatically. If i use %0D%0A it line breaks for Gcal, but breaks the ics description after %0D%0A. \n works for ics but /n prints in gcal. There isn't a one code solution for line breaks in both formats yet?
'K., try it -- "it" meaning %0D%0A -- with the /beta version now.
I really appreciate your help, espescially with updating the beta. The gcal works perfectly. The .ics description gets cut off (disappears) after %0D%0A . Is it just me?
I think it is just you now?
If I go to
http://ics.agical.io/beta/?subject=Meet%20{{company.Account%20Owner%20First%20Name}}&description=...
the ICS file is
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
COMMENT:via ics.agical.io
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20190724T210129Z
UID:20190724T210129Z-621158197@ics.agical.io
DTSTART:20161026T190000Z
DTEND:20161026T200000Z
ORGANIZER:Sandy
SUMMARY:Meet {{company.Account Owner First Name}}
BEGIN:VALARM
TRIGGER;VALUE=DURATION:-PT45M
DESCRIPTION:Agical Alarm: Meet {{company.Account Owner First Name}}
ACTION:DISPLAY
END:VALARM
DESCRIPTION:Take\na\nbreak
LOCATION:Sandy's Desk
ATTACH:http://www.example.com/
END:VEVENT
END:VCALENDAR
which is what I expect.
It works for real, but I'm using the http://ics.agical.io/beta/alt_sep/ version 😕
The standard alt_sep (semicolon ";" separator instead of "&"):
http://ics.agical.io/beta/alt_sep?subject=Meet%20{{company.Account%20Owner%20First%20Name}};descr...
Works the same:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
COMMENT:via ics.agical.io
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20190724T211440Z
UID:20190724T211440Z-1731900171@ics.agical.io
DTSTART:20161026T190000Z
DTEND:20161026T200000Z
ORGANIZER:Sandy
SUMMARY:Meet {{company.Account Owner First Name}}
BEGIN:VALARM
TRIGGER;VALUE=DURATION:-PT45M
DESCRIPTION:Agical Alarm: Meet {{company.Account Owner First Name}}
ACTION:DISPLAY
END:VALARM
DESCRIPTION:Take\na\nbreak
LOCATION:Sandy's Desk
ATTACH:http://www.example.com/
END:VEVENT
END:VCALENDAR
Are you doing something else in the URL?
I see what I did wrong. I was missing the beta I had http://ics.agical.io/alt_sep/ instead of http://ics.agical.io/beta/alt_sep/ . Thank you for all your help it works as it should using %0D%0A for line breaks in the description.
OK, if it's working for you I'll roll that into production now.
If i use %0D%0A it line breaks for Gcal, but breaks the ics description after %0D%0A.
That was what I meant by "automatically" because that's an standard encoded \n, which is transformed to <br> for Gcal now.
On the ICS side it seems like you want a the standard encoded \n to become a double-encoded \n, so that it ends up as a literal string "\n" (not LF, but literal backslash-n) in the ICS file. Let me look at that.
I need to have line breaks in an event description for the calendar links in both outlook and google calendar. Looking to having my cake and eating it too.
The event description is being used for both the google calendar link and the ics file link. \n works for Outlook but not for Google Calendar, <br> works for Google Calendar and not for Outlook.
Linebreak code | Works |
---|---|
<br>, %3Cbr%3E | GoogleCal |
\n, %0D%0A | ics |
??? | Both Google Cal and .ics |
Is there one magical line break code thats compatible with both? Thanks for your time.
Try it now with \n (real linebreak) in both places -- I changed GCal mode so it replaces \n with <br> automatically.
Thank you for your response, is the agical link still for : http://ics.agical.io/beta/alt_sep/ ? The gcal still printed \n
Why are you using the beta?
Use the main http://ics.agical.io. But you do have to send it as %0D%0A (because it has to be URL-encoded, like everything).
You're embedding an unencoded URL in a URL, so you need to use the alternate query delimiter syntax (this isn't something specific to Agical, it's always the case).
Did you read the articles at https://blog.teknkl.com/tag/agical ?
Thanks for your quick reply.
In my case i am using 3 different URLs of ON24 in a description so {{member.webinar URL}}
will not help. It is like a master calendar invite for the whole series (ON24 events are linked to subsequent programs). I am going to try this by encoding url as per your suggestion.
Could you please let me know the cause of endless occurrences of the event?
Thanks,
Jyotsna
I'm not really talking about {{member.webinar URL}}. I'm talking about the general need to encode URLs-in-URLs, regardless of where they lead to.
I see spaces in your URLs, which indicates they haven't been run through an encoding step.
Could you please let me know the cause of endless occurrences of the event?
Fix the rest of the encoding up, then post a final rendered URL (with the tokens replaced by live data) as well as the template with the tokens shown.