Add to Yahoo Calendar link
Yahoo Calendar still has a real user base, particularly in the United States and among older email accounts, and it costs you one more link to support. The format is the oldest of the bunch, which shows in the parameter names.
Rather not build the URL by hand? The generator does all of this, including the encoding.
Generate a linkThe URL format
https://calendar.yahoo.com/
?v=60
&title=Q4+product+webinar
&st=20260910T120000Z
&et=20260910T130000Z
&desc=A+45+minute+session
&in_loc=https%3A%2F%2Fmeet.example.com%2Fabc
v=60 is a version marker that has to be there. st and et are start and end, desc is the description and in_loc is the location.
Yahoo wants UTC
There is no timezone parameter. Convert your local time to UTC and add the trailing Z. Yahoo then renders it in the account's own timezone. Send a local time without a Z and Yahoo interprets it as UTC anyway, which quietly shifts the event by your offset.
For all-day events, send plain dates and add dur=allday:
&st=20260910&et=20260913&dur=alldayDuration instead of an end time
Yahoo also accepts dur=HHmm as an alternative to et, so dur=0130 means one and a half hours. Sending et is clearer and easier to keep consistent with the other providers, so prefer that unless you have a reason not to.