Custom Metadata: It is customizable, deployable, packageable, and upgradeable application metadata. First, you create a custom metadata type, which defines the form of the application metadata then you build reusable functionality that determines the behavior based on metadata of that type.