Hi, the way I did it, is just as you mention it initially, but instead of creating a Vcard just before download, I create all of them in one shot.
I batch (Gscript) my contact list to create all Vcard, then Glide just trigger the download of a specific Vcard.
At the end most of it happens on Google Drive side:
-In Gsheet, a schedule trigger check if the contact has been modified since last Vcard upload, if so it replace the existing Vcard in a Gdrive folder (Accessible for everyone who get the link), and update the donwload link in Gsheet.
- In Glide: a ‘link’ button (to the download link) allow to download the Vcard, and the phone (at least android), ask for contact creation.
on my side Gscript can only run during 6mins, so it took the full nigth to create around 5k contacts, by running the script every 10mins
Form user point of view, it is quite straigthforward.
Hope this could help!
Julien