# 🎁 Unwrapping the Second of Our Festive Releases: \`@canva/platform\` SDK to open external links!

**URL:** <https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035>\
**Category:** Announcements\
**Tags:** apps-in-canva, product-update, developer-christmas\
**Created:** [December 12, 2023, 2:25am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035 "2023-12-12T02:25:16Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anto](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Anto](https://community.canva.dev/u/Anto)\
**Post date:** [December 12, 2023, 2:25am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/1 "2023-12-12T02:25:16Z")

</div>

We’ve heard from many of you that although users can complete the majority of their workflows within the Canva app, there are times when you need to link them somewhere else, and we know that any workarounds were leading to a subpar user experience.

So, continuing with our Christmas releases, we’re _ **super** _ excited to finally announce that we’re relaxing some of the restrictions around external links from within Canva apps to enable a much better user experience.

For something as fundamental to the web as hyperlinks, there were many security, legal, & compatibility considerations we had to overcome to enable this.

## `@canva/platform` SDK

This functionality is available via the brand new `@canva/platform` SDK, which currently contains two methods:

- [requestOpenExternalUrl](https://www.canva.dev/docs/apps/api/platform-request-open-external-url)
- [getPlatformInfo](https://www.canva.dev/docs/apps/api/platform-get-platform-info/)

> Don’t forget to make sure you’re on the latest version of the [starter kit](https://github.com/canva-sdks/canva-apps-sdk-starter-kit/tree/main) to access this SDK.

## Link types

There are 2 types of external links that you can take advantage of, each with its own set of guidelines.

### 🔗 External links

These are used when linking the user to your app or website to continue their design workflow. The behaviour of these links is consistent on all platforms the user is accessing your Canva app on.

An example of such a link is a QR Code app linking to a fully-fledged analytics dashboard.

#### 🔖 Guidelines

- [External links](https://www.canva.dev/docs/apps/design-guidelines/external-links/)

### 💰 Payment links

These are used when a user is clicking the link to purchase/upgrade/manage subscriptions. They should **only** be displayed when `getPlatformInfo().canAcceptPayments` boolean property is `true`.

```ts
import { getPlatformInfo } from “@canva/platform”;

const info = getPlatformInfo();
if (info.canAcceptPayments) {
  // Display payment links and upgrade flows
} else {
  // Hide payment links and upgrade flows
  // Show an appropriate message
}

```

#### 🔖 Guidelines

- [Accepting Payments](https://www.canva.dev/docs/apps/accepting-payments/)

We hope that this makes for a more seamless experience between your Canva app and services outside Canva.

Stay tuned for tomorrow’s unwrapping for a supplementary UI Kit component and more gifts 👀

---

<div class="post-metadata">

**Author:** ![shivaskanthan](https://avatars.discourse-cdn.com/v4/letter/s/ea666f/32.png) [@shivaskanthan](https://community.canva.dev/u/shivaskanthan)\
**Post date:** [December 12, 2023, 3:03am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/2 "2023-12-12T03:03:19Z")

</div>

Christmas arrived early. Thanks Anto and the amazing Canva team 😃

---

<div class="post-metadata">

**Author:** ![Tom](https://avatars.discourse-cdn.com/v4/letter/t/3d9bf3/32.png) [@Tom](https://community.canva.dev/u/Tom)\
**Post date:** [December 12, 2023, 5:03am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/3 "2023-12-12T05:03:05Z")

</div>

Awesome! I was thinking only one gift per day, but now two! THANKS!

---

<div class="post-metadata">

**Author:** ![coral](https://avatars.discourse-cdn.com/v4/letter/c/b5ac83/32.png) [@coral](https://community.canva.dev/u/coral)\
**Post date:** [January 2, 2024, 2:34am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/4 "2024-01-02T02:34:01Z")

</div>

Thanks @Anto. This is great news!

Is there any plan to let Canva manage the billing/charges for the apps? It was earlier proposed by someone in the forum as well. That would be a lot better rather than individual apps taking their own payments.

Imagine a user with 5 active apps, will be managing 5 different subscriptions. This means 5 different portals & 5 different logins. But, if Canva manages the billing, it’ll all be managed as a single charge & user can manage everything within Canva.

---

<div class="post-metadata">

**Author:** ![coral](https://avatars.discourse-cdn.com/v4/letter/c/b5ac83/32.png) [@coral](https://community.canva.dev/u/coral)\
**Post date:** [January 4, 2024, 5:35pm UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/5 "2024-01-04T17:35:19Z")

</div>

Hello @Anto, I have a feedback. When the link is launched, it shows the actual link with https… & everything.  
 ![Link_Canva_2](https://us1.discourse-cdn.com/canva/original/2X/7/72c108b17ad1ed7de8eeef8ff00cb0f90a711d9c.png)

This can be discomforting/scary for the users since link can contain params & other values that is useful for technical integration, but doesn’t make sense to a non-technical user. In next iteration, can you introduce a field for ‘Title’ so that user is displayed the title (of link/destination page), rather than the actual link?

---

<div class="post-metadata">

**Author:** ![Anto](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Anto](https://community.canva.dev/u/Anto)\
**Post date:** [January 4, 2024, 11:36pm UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/6 "2024-01-04T23:36:46Z")

</div>

Hi @coral!

Thanks for the feedback and feature suggestions.

Regarding the Canva-managed billing system, that is something that’s actively being discussed and brainstormed by the team. This feature is the first step towards that and is aimed to allow developers to plug in their subscription services, and from here we’ll constantly be iterating and improving the experience both for our developers and users. Due to the complex nature of this, I cannot provide any timelines at this stage, unfortunately.

As to the full URL being shown in the dialog, that was a conscious and deliberate decision to be completely transparent about the external link, and let users know exactly what they’re clicking on. As we get more data about the types of links being opened and user feedback, we will revisit this decision and iterate over it if needed. The `Title` based approach can be misused if developers provide misleading/incomplete titles, so the link URL should always be shown to the user before navigation.

---

<div class="post-metadata">

**Author:** ![coral](https://avatars.discourse-cdn.com/v4/letter/c/b5ac83/32.png) [@coral](https://community.canva.dev/u/coral)\
**Post date:** [January 5, 2024, 2:32am UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/7 "2024-01-05T02:32:38Z")

</div>

Thanks, that makes sense. Agree, it is better to be transparent to the users.

---

<div class="post-metadata">

**Author:** ![AldousHuxley](https://avatars.discourse-cdn.com/v4/letter/a/45deac/32.png) [@AldousHuxley](https://community.canva.dev/u/AldousHuxley)\
**Post date:** [September 30, 2024, 9:51pm UTC](https://community.canva.dev/t/unwrapping-the-second-of-our-festive-releases-canva-platform-sdk-to-open-external-links/2035/8 "2024-09-30T21:51:05Z")

</div>

The new @canva/platform SDK lets you easily open external links, making integrations smoother! We’ve used tools like this in my [SEO agency](https://pearllemonseo.ca/) to enhance client websites seamlessly.
