Flag of Ukraine   We stand with the brave people of Ukraine. Stop the war. Find out how you can help.

Remote Sources

@uppy/remote-sources is a preset plugin to add all the available remote sources, such Instagram, Google Drive, Dropbox, and others to Uppy Dashboard in one package.

Note: Remote Sources requires Dashboard and automatically installs all its plugins to it.

import Uppy from '@uppy/core'
import Dashboard from '@uppy/dashboard'
import RemoteSources from '@uppy/remote-sources'

const uppy = new Uppy()
uppy.use(RemoteSources, {
  companionUrl: 'https://your-companion-url',


This plugin is published as the @uppy/remote-sources package.

npm install @uppy/remote-sources

In the CDN package, the plugin class is available on the Uppy global object:

const { RemoteSources } = Uppy



A unique identifier for this plugin (string, default: RemoteSources).


List of remote sources that will be enabled (array, default: ['Box', 'Dropbox', 'Facebook', 'GoogleDrive','Instagram', 'OneDrive', 'Unsplash', 'Url', 'Zoom']).

You don’t need to specify them manually or change them, but if you want to alter the order in which they appear in the Dashboard, or disable some sources, this option is for you.

uppy.use(RemoteSources, {
  companionUrl: 'https://your-companion-url',
  sources: ['Instagram', 'GoogleDrive', 'Unsplash', 'Url'],


URL to a Companion instance (string, default: null).


Custom headers that should be sent along to Companion on every request (object, default: {}).


The valid and authorized URL(s) from which OAuth responses should be accepted (string | RegExp | Array<string | RegExp>, Default: companionUrl)

This value can be a String, a Regex pattern, or an Array of both.

This is useful when you have your Companion running on several hosts. Otherwise, the default value, which is companionUrl, should do fine.


This option correlates to the RequestCredentials value, which tells the plugin whether to send cookies to Companion (string, default: same-origin).