Hi cchung,
Repurposing our code doesn’t sound like a bad approach here.
We do have a function that broadly fits your needs, here – tribe_get_single_ical_link() – but be aware it must be called within the loop (or, at least, you should ensure the global $post object is set to the correct event).
Ultimately though you may find it far simpler to just append ?ical to the single event URL 🙂
example.com/single-event/?ical
Does that help here?