You need the template of the format, not necessarily an actual template. First off there are 2 types of icalfiles, the ones you download and the ones that create live feeds to your ical app.
To do the second (feed) you can:
1) create a new document
2) set template to "blank"
3) set the content type to text/plain
4) set the Content Disposition to inline
5) turn off RTE
in the content field (with no RTE active) put the "template" for the ical feed:
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME: [*longtitle*]
PRODID:-//Apple Computer\, Inc//iCal 2.0//EN
[!Ditto? &parents=`12` &display=`all` &tpl=`ical_tpl`!]
END:VCALENDAR
and then create the tpl chunk for the ical format:
BEGIN:VEVENT
DTSTART:[+eventDate_start:date=`%Y%d%mT%H%M%SZ`+]
DTEND:[+eventDate_end:isnot="":then=`[+eventDate_end:date=`%Y%d%mT%H%M%SZ`+]`+]
SUMMARY:[+longtitle+]
DTSTAMP:[+editedon:date=`%Y%d%mT%H%M%SZ`+]
END:VEVENT
Add more parameters as needed.
Then use the webcal protocol when creating the link:
webcal://domain.tld/path/to/cal/feed
This has worked for me. I think that to turn this into the download file type of ical document you would need to simply change the Content Disposition to attachment and not use the webcal in the link, but I have never used it like this.