1 <h1>externally_connectable</h1>
4 The <code>externally_connectable</code> manifest property declares which extensions, apps, and web pages can connect to your {{platform}} via <a href="../runtime#method-connect">runtime.connect</a> and <a href="../runtime#method-sendMessage">runtime.sendMessage</a>.
8 For a tutorial on message passing see <a href="../messaging#external">cross-extension and app messaging</a> and <a href="../messaging#external-webpage">sending messages from web pages</a>.
11 <h2 id="without-externally-connectable">Connecting without externally_connectable</h2>
14 If <code>externally_connectable</code> is not declared in your {{platform}}'s manifest, all extensions and apps can connect, but no webpages can connect. As a consequence, when updating your manifest to use <code>externally_connectable</code>, if <code>"ids": ["*"]</code> is not specified then other extensions and apps will lose the ability to connect to your {{platform}}. This may be an unintended consequence, so keep it in mind.
17 <h2 id="manifest">Sample manifest.json</h2>
18 <pre data-filename="manifest.json">
20 "name": "My externally connectable {{platform}}",
21 "externally_connectable": {
22 // Extension and app IDs. If this field is not specified, no
23 // extensions or apps can connect.
25 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
26 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
28 // Alternatively, to match all extensions and apps, specify only
32 // Match patterns for web pages. Does not affect content scripts.
33 // If this field is not specified, no webpages can connect.
35 "https://*.google.com/*",
36 "*://*.chromium.org/*",
39 // Indicates that the extension would like to make use of the TLS
40 // channel ID of the web page connecting to it. The web page must
41 // also opt to send the TLS channel ID to the extension via setting
42 // <code>includeTlsChannelId</code> to <code>true</code> in $(ref:runtime.connect)'s connectInfo
43 // or $(ref:runtime.sendMessage)'s options.
44 "accepts_tls_channel_id": false
50 <h2 id="reference">Reference</h2>
51 <p class="api_reference">
52 The externally_connectable manifest key can have the following properties:
53 {{+partials.manifest_type type:data/}}