Embed External App with selected file link and/or arguments

We are seeking to embed an external app like Miro, where the embed url is passed a file id and/or argument.

It appears the Coda/Miro implementation of /miro goes like this:

  1. /miro the click Miro “media” link
  2. A popup window opens to a Miro page eg. https://miro.com/app/boards-picker/?parentOrigin=https%3A%2F%2Fcoda.io&guid=4428a87d-4f7a-456c-8373-46ea7bb2271e&action=access-link&clientId=30744573479407nnnn
  3. The registered Miro user selects the Miro Board they want to embed
  4. The embed formula is created and contains the shared board link eg. Embed(“https://miro.com/app/access-link/2aaaaaab605aeda1EYZxmhHiAm2Rg1IlNPJape6wXF81Kccp”, force: true)

Questions:

  • How can we take a similar approach to the Miro “boards-picker” app?
  • Why is the parentOrigin identified and used?

Thanks, David

1 Like

Hey @David_Greenwood, Coda has a joint partnership with Miro which is why we are able to offer this custom integration. Such integrations aren’t open more broadly to developers yet, but if you are working on a platform and would like to explore a deeper integration, please contact our support directly and they could connect you with our partnerships team.

Perhaps in the future we could incorporate such extensions to Coda into Packs with easier custom development integrations, but we’re not at that point yet. Such integrations would require you to work directly with our engineering team, which means we’d need to prioritize building something like that out against other work we’re doing.

Hope this sheds some light on this.

3 Likes

I should mention however that the Embed() formula is quite flexible. If you have a custom external app that you would like to embed (and it supports embedding), you should just be able to use Embed() with force: true in order to get it to show up within your Coda doc. You can construct the URL formulaically as well.

2 Likes

Thanks @oleg

Yes, we tried this but the problem is the formula with the specfic value has to be in the template already which means it’s not dynamic nor can be used to select external references (eg. like an existing or new Miro board).

Rather than see our requirement as a special case and needing a formal app integration project with engineering, I see this could be a generic function based on the Miro approach of opening a window that returns the Embed formula to Coda and inserts it.

I will contact support and see if we can start a conversation around this with your partnership team.

1 Like

@oleg Why do you not set “force: true” to be the default state for “/embed” so that more embeds that require the argument just work instead of forcing the use of it in a formula if required?

PS. I see that Coda is provider on Embed.ly - are you using Embed.ly for /embed?

@David_Greenwood we’re actually using Iframely to support embedding by default. Iframely does the hard work of normalizing URLs for each platform, applying correct styles, etc. for embeds to work well out of the box. Using force: true lets you force-embed things that aren’t supported by Iframely (such as private content) but often times if you don’t embed the exact correct embed URL you’ll just get a white screen or the embed will fail to load, and hence we went for defaulting to Iframely to provide the best experience out of the box for most embedded content.

1 Like

Thanks for the insights @oleg. Good to know about iframely. Suggest you add this documentation unless its there and I missed it. Also that you Coda is an Embed.ly provider.

@oleg FYI: Have contacted support and shared the contents of this post about Improving Embed for 3rd party Apps