Make a google calendar Event when the user click buttom

Hello! I have a question.
In my app there is a calendar with event dates, place and time. I need to make a button that when the user presses it, this event is created in their personal Google calendar. Is it possible to do this? Can somebody help me? I’ve been trying with Zapier but couldn’t do it.

Hello @MartinLana

You might wanna check this post. You can also find a tutorial here.


I was able to do this with a free resource, Calendar Link. Works like a charm with the template column and their API.


I have tried to use it, but it doesn’t work with the european date fomat : DD/MM/YYYY.
Even if my timezone=Europe%2FParis :frowning:
So I have search a solution…
Here is the solution :
In order to convert my euro dates in iso dates, I use the Glide column Type “Template” with my original column with my date with European format. The template date is in raw format ie ISO like in my Google Sheet.
And I use this template column in the template with calendr link :slight_smile:

1 Like

In Google sheets use substitute function to change date format, and than using scripts create event in your calendar

1 Like


You can use the URL column or Template column to set the URL parameters in their API documentation.

The final result will be a URL that generates the correct calendar when selected

1 Like

Hi, I came across your solution. I have tried to apply the API but it seems not to be working. How did you do it that it was able to work for you. Kindly assist please.

Kindly find attached a screenshot of the table and how I was trying to apply the API. Is there anything I am missing.

Thank you

Hi, I used the template but it seems not to be working. I also tried it with the construct URL, but it was not working as well.

Please find attached a screenshot of the table and how I was trying to apply the API. Is there anything I am missing. Please help me.

One possible issue is that your template replace values are going to replace EVERY instance it finds in that text string. Your template has SERVICE, START, END, and TITLE listed twice in the template, so it’s probably replacing each one twice.

For any value that you want to replace in a template, I recommend making it a unique value that is nowhere else in the template. Something like {service} or {end} or @service or @end. That way you don’t unintentionally replace a value in the template that you didn’t intend to replace.

Since your screenshot doesn’t show the entire result of the template column, it’s hard to say if that is what’s happening, but that would be my guess.

Thank you so much for the quick response. I will apply this and give you an update.

I sincerely appreciate your quick response. Thanks

Hi. This is the result I got. I couldn’t get the link to work.

That looks better. I’m not sure what the problem could be though. I’ve never used myself. Hopefully one of the others you replied to can chime in.

I would recommend at least looking at the link @Lisa provided that describes how to build the link.

One thing I see off the top of my head is that you are not using the recommended date format. Also your title has a space in it in some cases, so that may cause issues. Using the Construct URL method is probably better because it applies the correct URL encoding to handle characters such as spaces and other characters that usually aren’t allowed in a url.

1 Like

Okay. Thank you. I will try out what you observed and if it does not work, I will wait for others to help. Thanks so much for your time.

1 Like

Try changing the Date Type.

Start date of the event. Most formats are parsed and accepted, but avoid those that can be ambiguous (for example, europe uses d/m/y and america uses m/d/y meaning the date 1/2/2020 could be either).

It’s best to use ISO format (YYYY-MM-DD) dates.

Examples: 2020-04-25 01:05 pm or 2020-04-25 15:30


Thank you so so much. I think it’s working now.

I sincerely appreciate the help.


Well spotted, Dilon :+1:

Any time you see Glide datetime columns with dates that look like “yyyy-mm-ddThh:mm:ss.000”, that’s a sure sign that the columns were created in an attached Google Sheet, and Glide hasn’t automatically set the column type correctly.



I’m running into similar issue with the date format. How have you finally solved it? I’m using directly the glide builder (not based on GS) and the format I have is the following: 26/06/2022, 11:02:00


You can use a JavaScript column to return the bare format.

I’m UTC+7 so it’s returning a timestamp that is seven hours earlier (in UTC+0).

Nice thanks for the tip. I’ve kept it simple with just a template column replacing / with - like @Christophe_Thomas was suggesting.

I also need to get a bit more familiar with Javascript.

1 Like