# Connect Webviews

The `connect_webview` object represents a [Connect Webview](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/connect-webviews). Connect Webviews are fully-embedded client-side components that you add to your app. Your users interact with your embedded Connect Webviews to link their IoT device accounts to Seam. That is, Connect Webviews walk your users through the process of logging in to their device accounts. Seam handles all the authentication steps, and—once your user has completed the authorization through your app—you can access and control their devices using the Seam API.

Connect Webviews perform credential validation, multifactor authentication (when applicable), and error handling for each device brand that Seam supports. Further, Connect Webviews work across all modern browsers and platforms, including Chrome, Safari, and Firefox.

To enable a user to connect their device account to Seam through your app, you must first create a `connect_webview`. Once created, this `connect_webview` includes a URL that you can use to open an [iframe](https://www.w3schools.com/html/html_iframe.asp) or new window containing the Connect Webview for your user.

![](https://2727122207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxnN2A67918om1UthYWsF%2Fuploads%2Fgit-blob-e19a3aa888d0ab7e3b0ba34b96cb5fea42de278c%2Fimage.png?alt=media)

## `connect_webview` Properties

| **`connect_webview_id`**               | String (UUID)                              | ID of the Connect Webview                                                                                                                                                                                                                                                                                               |
| -------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`accepted_providers`**               | Array of strings                           | List of accepted [device provider keys](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews)                                                                                              |
| **`accepted_devices`**                 | Array of strings                           | List of accepted [devices](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/devices)                                                                                                                                                                                                          |
| **`any_provider_allowed`**             | Boolean                                    | Indicates whether any provider is allowed                                                                                                                                                                                                                                                                               |
| **`any_device_allowed`**               | Boolean                                    | Indicates whether any device is allowed                                                                                                                                                                                                                                                                                 |
| **`selected_provider`**                | String                                     | Selected provider of the Connect Webview, one of [device provider keys](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews)                                                              |
| **`custom_metadata`**                  | <p>JSON object</p><p><em>Optional</em></p> | <p>A set of up to 50 keys, with key names up to 40 characters long. Accepts string or Boolean values. Strings are limited to 500 characters<br>For more information, see <a href="../core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview">Attaching Custom Data to the Connect Webview</a>.</p> |
| **`automatically_manage_new_devices`** | Boolean                                    | Indicates whether Seam should [import all new devices](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/connect-webviews/customizing-connect-webviews#automatically_manage_new_devices) for the connected account to make these devices available for use and management by the Seam API      |
| **`wait_for_device_creation`**         | Boolean                                    | Indicates whether Seam should [finish syncing all devices](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/connect-webviews/customizing-connect-webviews#wait_for_device_creation) in a newly-connected account before completing the associated Connect Webview                             |
| **`custom_redirect_url`**              | <p>String</p><p><em>Optional</em></p>      | If set, the Connect Webview redirects to this URL when the user successfully pairs a device or, if the `custom_redirect_failure_url` is not set, when an unexpected error occurs                                                                                                                                        |
| **`custom_redirect_failure_url`**      | <p>String</p><p><em>Optional</em></p>      | If set, the Connect Webview redirects to this URL when an unexpected error occurs                                                                                                                                                                                                                                       |
| **`status`**                           | String                                     | `pending` or `authorized`                                                                                                                                                                                                                                                                                               |
| **`url`**                              | String                                     | URL to the webview                                                                                                                                                                                                                                                                                                      |
| **`login_successful`**                 | Boolean                                    | Indicates whether the user logged in successfully using the Connect Webview                                                                                                                                                                                                                                             |
| **`connected_account_id`**             | String (UUID)                              | ID of the Connected Account that was created after the user successfully logged in                                                                                                                                                                                                                                      |
| **`created_at`**                       | String                                     | Date and time at which the Connect Webview was created                                                                                                                                                                                                                                                                  |
| **`authorized_at`**                    | String                                     | Date and time at which the user authorized (through the Connect Webview) the management of their devices                                                                                                                                                                                                                |
| **`workspace_id`**                     | String (UUID)                              | ID of the [workspace](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/workspaces) that contains the Connect Webview                                                                                                                                                                          |

## `connect_webview` Methods

You can perform the following actions on `connect_webview` objects:

* [Create a Connect Webview](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/connect_webviews/create)
* [List Connect Webviews](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/connect_webviews/list)
* [Get a Connect Webview](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/connect_webviews/get)
* [Check a Connect Webview](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/connect_webviews/get)
* [Delete a Connect Webview](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/connect_webviews/delete)
