Connecting to Webflow
Authentication
Webflow uses OAuth 2.0 authentication to ensure secure access to sites, CMS collections, e-commerce data, and other resources. This authentication method allows you to securely connect to your Webflow workspace and manage resources with proper authorization.
OAuth 2.0 Setup and Configuration
Step 1: Create a Webflow OAuth Application
To set up OAuth authentication:
- Visit the Webflow Developer Portal
- Navigate to "Apps & Integrations" in your Webflow account
- Click "Register an App" to create a new OAuth application
- Configure the application name, description, and redirect URI (CallbackURL)
- Copy the Client ID and Client Secret for use in your connection
Required Connection Properties
- AuthScheme: Set this to OAuth (required)
- OAuthClientId: Client ID from your Webflow OAuth application (required)
- OAuthClientSecret: Client secret from your Webflow OAuth application (required)
- CallbackURL: Redirect URI specified in your OAuth application (required)
- InitiateOAuth: Set to GETANDREFRESH for automatic token management (recommended)
Required OAuth Scopes
The Webflow API Profile requires the following OAuth scopes:
- sites:read - Read access to site information and configuration
- pages:read - Read access to site pages
- cms:read - Read access to CMS collections and items
- forms:read - Read access to forms and form submissions
- assets:read - Read access to media assets and folders
- ecommerce:read - Read access to products, orders, and inventory
- authorized_user:read - Read access to the authorized user
Available Tables
The Webflow API Profile provides access to comprehensive site, content, and e-commerce management capabilities:
Site Configuration
- Sites - Webflow sites within the authorized workspace, including locale and domain configuration
- Pages - Site pages including static pages and CMS-driven collection pages
- CustomDomains - Custom domain configurations attached to a site
CMS Content
- Collections - CMS collections defining the schema for structured site content
- CollectionItems - Staged (draft and published) CMS collection items with all custom field data
- LiveCollectionItems - Published (live) CMS collection items only
Forms
- Forms - Site form definitions and field schema configurations
- FormSubmissions - Submitted form data for Webflow site forms
Media Assets
- Assets - Media assets uploaded to the Webflow asset library
- AssetFolders - Asset library folder structure for organizing media assets
E-Commerce
- Products - E-commerce products with associated SKU variants
- Orders - E-commerce orders placed on a site with billing, shipping, and payment details
- Inventory - SKU inventory levels for specific collection items
Connection Examples
Basic OAuth Connection String
Profile=C:\profiles\Webflow.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;
Usage Examples
Sites:
SELECT * FROM Sites SELECT * FROM Sites WHERE Id = 'your_site_id'
Pages:
SELECT * FROM Pages WHERE SiteId = 'your_site_id' SELECT * FROM Pages WHERE Id = 'your_page_id'
CustomDomains:
SELECT * FROM CustomDomains WHERE SiteId = 'your_site_id'
Collections:
SELECT * FROM Collections WHERE SiteId = 'your_site_id' SELECT * FROM Collections WHERE Id = 'your_collection_id'
CollectionItems:
SELECT * FROM CollectionItems WHERE CollectionId = 'your_collection_id'
LiveCollectionItems:
SELECT * FROM LiveCollectionItems WHERE CollectionId = 'your_collection_id'
Forms:
SELECT * FROM Forms WHERE SiteId = 'your_site_id' SELECT * FROM Forms WHERE Id = 'your_form_id'
FormSubmissions:
SELECT * FROM FormSubmissions WHERE SiteId = 'your_site_id' AND FormId = 'your_form_id'
Assets:
SELECT * FROM Assets WHERE SiteId = 'your_site_id' SELECT * FROM Assets WHERE Id = 'your_asset_id'
AssetFolders:
SELECT * FROM AssetFolders WHERE SiteId = 'your_site_id' SELECT * FROM AssetFolders WHERE Id = 'your_folder_id'
Products:
SELECT * FROM Products WHERE SiteId = 'your_site_id' SELECT * FROM Products WHERE SiteId = 'your_site_id' AND Id = 'your_product_id'
Orders:
SELECT * FROM Orders WHERE SiteId = 'your_site_id' SELECT * FROM Orders WHERE SiteId = 'your_site_id' AND Status = 'unfulfilled'
Inventory:
SELECT * FROM Inventory WHERE CollectionId = 'your_collection_id' AND ItemId = 'your_item_id'
API Rate Limits
The Webflow API v2 enforces rate limits based on your plan tier. The API uses offset-based pagination with a default page size of 100 items. Monitor your API usage in the Webflow dashboard and consider implementing efficient querying strategies for large datasets.
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| AuthScheme | The scheme used for authentication. Accepted entries are None or OAuth. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT |
| CallbackURL | Identifies the URL users return to after authenticating to API via OAuth (Custom OAuth applications only). |
| InitiateOAuth | Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working. Allowed values are: OFF, REFRESH, GETANDREFRESH |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Scope(s) to use when authenticating, that control access to specific information. |