Try Serpent Free
← Salesforce DevOps Glossary

Custom Metadata Type

Custom metadata records deploy as metadata, not data, which makes them the standard way to move configuration between orgs without a data migration step.

Definition

A custom metadata type defines a metadata record, rather than an sObject data record, meaning its records deploy through the Metadata API alongside the type definition itself and move cleanly between sandboxes and production without a separate data load. That's the opposite of a custom setting or a plain custom object, whose records are data and don't travel with a change set, package, or metadata deployment. Teams use custom metadata types to hold configuration that needs to ship with code, feature flags, integration endpoints, business rules, precisely because it behaves like metadata in a pipeline. There's a hard cap on the total number of custom metadata records per type and per org, and records can't be created or edited by end users through standard UI without a screen flow or custom page, since Setup access to them is admin-only by default. Our guide to managing Salesforce metadata covers this pattern in more detail.

In practice

How it works in Serpent

Serpent deploys custom metadata type records the same way it deploys any other metadata, tracked by task, included in preflight, and diffed in org comparison, so a configuration change ships with the code it's meant to accompany instead of needing a separate data step. See release management in Serpent for how metadata changes are scoped.

Metadata and data in one deployment flow in Serpent

Start free. No credit card, no install, no commitment.

Set up in under 15 minutes. No DevOps hire needed.

Curious about faster shipping before you dive in? Let's talk

Commitment free!