WHAT YOU'LL LEARN
  • What extension components are available in webiny/extensions?
  • What parameters does each extension accept?
  • How to use each extension in your webiny.config.tsx?

Overview
anchor

The webiny/extensions package exports React components used inside webiny.config.tsx to wire extensions into your Webiny project. Each component corresponds to a defineExtension() call in the Webiny source and accepts typed props defined by its Zod schema.

Api

Admin

Cli

Infra

Project

Api
anchor

Extension
anchor

Add any API extension.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes
exportNamestringno

BuildParam
anchor

Add build-time parameter to API app.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
paramNamestringyes
valueunionyes

Admin
anchor

Extension
anchor

Extend the Admin application with custom functionality.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes
exportNamestringno

BuildParam
anchor

Add build-time parameter to Admin app.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
paramNamestringyes
valueunionyes

Cli
anchor

Command
anchor

An extension for defining CLI commands.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Infra
anchor

Vpc
anchor

Apply VPC settings to AWS resources during deployment.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
enabledbooleannoWhether to enable VPC.
useVpcEndpointsbooleanno
useExistingVpcobjectno

useExistingVpc
anchor

FieldTypeRequiredDescription
openSearchDomainVpcConfigobjectno
lambdaFunctionsVpcConfigobjectyesVPC configuration for Lambda functions.

openSearchDomainVpcConfig
anchor

FieldTypeRequiredDescription
securityGroupIdsstring[]yesThe security group IDs for the OpenSearch domain.
subnetIdsstring[]yesThe subnet IDs for the OpenSearch domain.

lambdaFunctionsVpcConfig
anchor

FieldTypeRequiredDescription
securityGroupIdsstring[]yesThe security group IDs for the Lambda functions.
subnetIdsstring[]yesThe subnet IDs for the Lambda functions.

BlueGreenDeployments
anchor

Enable blue/green deployments for your Webiny project.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
enabledbooleanno
domainsobjectyes
deploymentstupleyes

domains
anchor

FieldTypeRequiredDescription
acmCertificateArnstringyes
sslSupportMethod`“sni-only”“vip”`yes
domainsobjectyes

domains
anchor

FieldTypeRequiredDescription
apistring[]yes
adminstring[]yes
websitestring[]yes
previewstring[]yes

deployments
anchor

A tuple: [object, object]

OpenSearch
anchor

Enable and configure Opensearch integration with project-level setup.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
enabledbooleannoWhether to enable OpenSearch.
domainNamestringnoThe name of the Opensearch domain.
indexPrefixstringnoA prefix to be added to all Opensearch indexes.
sharedIndexesbooleannoWhether to use shared indexes across all environments (true) or separate indexes per environment (false).

PulumiResourceNamePrefix
anchor

Adjust the prefix for Pulumi resource names (default: “wby-”).

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
prefixstringyes

ProductionEnvironments
anchor

Provide names for environments that are considered production environments.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
environmentsarrayyes

Aws.DefaultRegion
anchor

Set the default AWS region for the project.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
namestringyesThe AWS region name.

Aws.Tags
anchor

Apply tags to AWS resources during deployment.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
tagsrecordyes

Admin.BeforeBuild
anchor

Add custom logic to be executed before the ADMIN build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.BeforeDeploy
anchor

Add custom logic to be executed before the ADMIN deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.BeforeWatch
anchor

Add custom logic to be executed before the Admin watch process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.AfterBuild
anchor

Add custom logic to be executed after the ADMIN build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.AfterDeploy
anchor

Add custom logic to be executed after the ADMIN deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.Pulumi
anchor

Modify Admin app’s cloud infrastructure using Pulumi.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Admin.CustomDomains
anchor

Configure custom domains for the Admin app.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
domainsarrayyesList of custom domains.
sslMethodenumnoThe method to use for SSL/TLS certificate validation.
certificateArnstringyesThe ARN of the SSL/TLS certificate to use for the custom domains.

Admin.StackOutputValue
anchor

Add custom output values to the Admin stack.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
keystringyesThe key for the output value
valueanynoThe value to output

Api.BeforeBuild
anchor

Add custom logic to be executed before the API build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.BeforeDeploy
anchor

Add custom logic to be executed before the API deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.BeforeWatch
anchor

Add custom logic to be executed before the API watch process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.AfterBuild
anchor

Add custom logic to be executed after the API build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.AfterDeploy
anchor

Add custom logic to be executed after the API deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.Pulumi
anchor

Modify Api app’s cloud infrastructure using Pulumi.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Api.StackOutputValue
anchor

Add custom output values to the Api stack.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
keystringyesThe key for the output value
valueanynoThe value to output

Api.LambdaFunction
anchor

Add a custom Lambda function to the API app.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
functionSrcstringyes
pulumiSrcstringyes

Core.BeforeBuild
anchor

Add custom logic to be executed before the CORE build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.BeforeDeploy
anchor

Add custom logic to be executed before the CORE deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.BeforeWatch
anchor

Add custom logic to be executed before the CORE watch process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.AfterBuild
anchor

Add custom logic to be executed after the CORE build process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.AfterDeploy
anchor

Add custom logic to be executed after the CORE deployment process.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.Pulumi
anchor

Modify Core app’s cloud infrastructure using Pulumi.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
srcstringyes

Core.StackOutputValue
anchor

Add custom output values to the Core stack.

Can be used multiple times.

webiny.config.tsx

Props

PropTypeRequiredDescription
keystringyesThe key for the output value
valueanynoThe value to output

Project
anchor

Id
anchor

An extension for defining the project ID.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
idstringyes

Telemetry
anchor

This extension allows you to enable or disable telemetry for the project.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
enabledbooleanno

AutoInstall
anchor

Auto-install Webiny with admin user credentials on first deploy.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
adminUserobjectyesAdmin user credentials for installation

adminUser
anchor

FieldTypeRequiredDescription
firstNamestringyesAdmin user first name
lastNamestringyesAdmin user last name
emailstringyesAdmin user email
passwordstringyesAdmin user password (minimum 8 characters)

FeatureFlags
anchor

Enable or disable WCP features.

Can only be used once.

webiny.config.tsx

Props

PropTypeRequiredDescription
featuresobjectyes

features
anchor

FieldTypeRequiredDescription
multiTenancybooleanno
advancedPublishingWorkflowbooleanno
advancedAccessControlLayerboolean | objectno
auditLogsbooleanno
recordLockingbooleanno
fileManagerobjectno

advancedAccessControlLayer
anchor

Accepts one of:

advancedAccessControlLayer (option 2)
anchor

FieldTypeRequiredDescription
teamsbooleanno
privateFilesbooleanno
folderLevelPermissionsbooleanno
hcmsFieldPermissionsbooleanno

fileManager
anchor

FieldTypeRequiredDescription
threatDetectionbooleanno