Core Concepts
Applications
Overview of Webiny's built-in applications and how they work together.
Overview
Webiny includes several pre-built applications that work together to provide a complete content platform. Each application is built using the Webiny Framework and can be extended or customized through the extension system.
Core Applications
Headless CMS
The foundation of Webiny’s content management capabilities. Provides:
- GraphQL API - Query and mutate content programmatically
- Content Modeling - Define custom content types with fields and validations
- Versioning - Track content changes with revision history
- Localization - Multi-language content support
- Access Control - Fine-grained permissions per content model
The Headless CMS serves as the data layer for other applications. Website Builder pages, File Manager metadata, and Publishing Workflows all store data through the CMS.
Website Builder
Visual page creation and management system featuring:
- Drag-and-Drop Editor - Visual interface for non-technical users
- Component System - Extensible with custom page elements
- Theme Support - Consistent styling across pages
- External Rendering - Pages render via your frontend app (Next.js, Vue, etc.)
- Dynamic Content - Integrates with Headless CMS or external APIs
Website Builder is unique in that it requires an external frontend application to render pages. Webiny provides a Next.js starter kit, but you can use any framework.
File Manager
Digital asset management system offering:
- Multi-format Support - Images, videos, documents, and more
- Folder Organization - Hierarchical structure with subfolders
- Metadata Management - Custom tags for categorization
- Search Capabilities - Find assets by name, type, or metadata
- Scalable Storage - Handles petabytes of assets via S3
File Manager integrates with other applications, providing asset selection in CMS rich text fields and Website Builder components.
Publishing Workflows
Content approval and publishing pipeline with:
- Custom Workflows - Define review stages for your process
- Role-based Approvals - Assign reviewers based on permissions
- Content Staging - Preview changes before publishing
- Audit Trail - Track all workflow actions
- Integration Points - Works with CMS and Website Builder content
Admin
The unified control panel that:
- Hosts All Applications - Single interface for all Webiny apps
- User Management - Create and manage user accounts
- Security Settings - Configure authentication and permissions
- System Configuration - Manage tenants, locales, and settings
- Extensible UI - Add custom menu items and pages
Admin itself is a Webiny application, built with the same framework and extensible through the same patterns.
Application Architecture
Deployment Structure
Webiny applications deploy across three main stacks:
- Core - Shared infrastructure (Cognito, EventBridge, S3)
- API - Backend services (Lambda functions, DynamoDB tables)
- Admin - Frontend application (React SPA on CloudFront)
Data Flow
Applications communicate through:
- GraphQL API - Primary data interface
- Event System - Applications emit events others can consume
- Shared Storage - Common S3 buckets for assets
- Direct Integration - UI components from one app in another
Extension Points
Each application provides:
- API Extensions - Add GraphQL schemas and resolvers
- UI Extensions - Custom components and pages
- Event Handlers - React to application events
- Business Logic - Custom use cases and workflows
Working With Applications
Enabling/Disabling
Applications are configured in webiny.config.tsx:
Cross-Application Features
Applications share common functionality:
- Multi-tenancy - Isolate data per tenant across all apps
- Localization - Consistent locale handling
- Security - Unified authentication and authorization
- Search - Elasticsearch integration for all content types
- Audit Logs - Track actions across applications
Custom Applications
You can build custom applications using the same patterns:
- Use the Webiny Framework for consistency
- Integrate with existing applications via APIs
- Add your app to the Admin menu
- Leverage shared infrastructure and services
See the Extensions documentation for detailed guidance on building custom applications.