AUTOMATISERING · 13 min lezen

Wanneer gebruik je Custom Metadata in Salesforce?

Custom Metadata is bedoeld voor instelbare logica die niet per record verschilt. Het is beheersbaar zonder codewijzigingen en reist mee tussen omgevingen. In dit artikel leggen we helder uit wat het is, wanneer je het gebruikt en waarom het een krachtige tool is voor admins en consultants.

Als je in Salesforce automatisering bouwt, kom je al snel situaties tegen waarin je waarden wilt instellen die voor meerdere processen gelden – denk aan prijzen, percentages, e-mailadressen of API-endpoints. Je kunt die natuurlijk hardcoden in je Flow of Apex, maar dan wordt het onderhoud lastig. Elke aanpassing betekent een nieuwe deployment of een Flow-wijziging.

Custom Metadata Types (CMDT) bieden een slimme oplossing: je slaat configuratiegegevens op als metadata in plaats van als operationele data. Dat betekent dat je waarden kunt wijzigen zonder code aan te passen, en dat je instellingen automatisch meeverhuizen tussen sandbox en productie. In dit artikel leggen we uit wat Custom Metadata precies is, wanneer je het gebruikt en geven we praktische voorbeelden.

Definitie

Wat is Custom Metadata?

Custom Metadata Types zijn metadata – geen operationele data zoals Accounts of Opportunities. Dat klinkt abstract, maar het verschil is cruciaal: metadata beschrijft hoe je systeem werkt, terwijl data beschrijft wat er in je systeem gebeurt.

Voordelen van Custom Metadata

  • Meeneembaar in deployments

    Custom Metadata records reizen automatisch mee met change sets, packages en deployments – net als custom velden of page layouts.

  • Consistent tussen omgevingen

    Geen handmatig overzetten van configuratie. Wat je in sandbox bouwt, werkt hetzelfde in productie.

  • Geen hardcoding in Flow of Apex

    Je logica blijft generiek. Waarden staan in metadata-records, niet in de code.

  • Door admins te beheren

    Een beheerder kan Custom Metadata records aanpassen zonder developer-skills of deployment.

Toepassing

Wanneer gebruik je Custom Metadata?

Custom Metadata is bedoeld voor configuratiegegevens of regels die zelden veranderen maar cruciaal zijn voor je processen. Denk aan tarieven, drempelwaarden, endpoints, afzendergegevens of rekenparameters. Hieronder vier fictieve voorbeelden die laten zien wanneer Custom Metadata écht waardevol is.

Use-case 1 – Prijslogica voor abonnementen

Een fictief softwarebedrijf biedt verschillende abonnementen aan. De prijzen hangen af van looptijd en aantal gebruikers. In plaats van deze prijzen in Apex of Flow te hardcoden, staan ze in Custom Metadata.

NaamLooptijd (mnd)GebruikersPrijs p/m
Starter_12121–5€49
Starter_24241–5€45
Business_12126–20€89

Hoe werkt het? Een Flow haalt deze metadata op basis van looptijd en aantal gebruikers, berekent de prijs en vult die in op de Opportunity. Als prijzen wijzigen, pas je alleen de metadata-records aan – de Flow blijft ongewijzigd.

Use-case 2 – Regionale toeslagen

Een fictieve koeriersdienst rekent per regio een toeslag op het orderbedrag. Deze toeslagen staan in Custom Metadata.

RegioToeslag (%)
Randstad8
Noord5
Zuid6

Hoe werkt het? Een Flow kijkt naar de regio van de klant, haalt de juiste toeslag op uit Custom Metadata en berekent het totaalbedrag. Als de toeslagen veranderen, pas je alleen de metadata aan.

Use-case 3 – E-mailafzenders per merk

Een fictieve organisatie heeft meerdere merken, elk met een eigen afzenderidentiteit. Custom Metadata zorgt dat flows automatisch de juiste afzender selecteren.

MerkAfzendernaamE-mailadres
GreenTechGreenTech Teaminfo@greentech.nl
SolarNextSolarNext Supportsupport@solarnext.nl

Hoe werkt het? Een Flow kijkt naar het merk van de klant, haalt de juiste afzender op uit Custom Metadata en gebruikt die in de e-mailactie. Nieuw merk toevoegen? Gewoon een nieuwe metadata-record aanmaken.

Use-case 4 – API-instellingen per omgeving

Een fictieve integratie roept een extern systeem aan. De API-URL en sleutel verschillen per omgeving. Met Custom Metadata hoef je je code of Flow niet per omgeving aan te passen.

OmgevingAPI Base URLAPI Key
Testhttps://api-test.ordersystem.nltest123
Productiehttps://api.ordersystem.nllive987

Hoe werkt het? Je Apex-class of Flow detecteert de omgeving (bijvoorbeeld via een Named Credential of organization ID), haalt de juiste metadata-record op en gebruikt die URL en sleutel. Elke omgeving heeft zijn eigen metadata-records – geen handmatige aanpassingen nodig.

Verschil

Waarom geen Custom Object?

Veel mensen vragen: waarom geen Custom Object gebruiken? Het antwoord ligt in het verschil tussen operationele data en configuratie.

GebruikKies voor
Operationele data (Accounts, Orders, Transacties)Custom Object
Instelbare logica / configuratieCustom Metadata
Tijdelijke of gebruikersspecifieke dataCustom Settings

Let op: Custom Metadata reist automatisch mee met deployments. Custom Object-data moet je handmatig overzetten tussen omgevingen (via data import/export of API). Voor configuratie is dat onhandig.

Techniek

Waar kun je Custom Metadata gebruiken?

In Flows via Get Records

Sinds Summer '20 kun je Custom Metadata volledig opvragen met het Get Records-element. Je kunt filteren op velden en de waarden gebruiken in je Flow-logica.

In Apex

Gebruik MyType__mdt.getAll() om alle records op te halen, of query met SOQL:

List<Subscription_Price__mdt> prices = [SELECT Prijs__c FROM Subscription_Price__mdt WHERE Looptijd__c = 12];

In Validation Rules

Je kunt Custom Metadata gebruiken om dynamische uitzonderingen of drempelwaarden te definiëren in validatieregels.

In formules of record types

Gebruik metadata om standaardwaarden of condities te bepalen zonder hardcoding.

Praktijk

Fictief praktijkvoorbeeld – Energiebedrijf

Een fictief energiebedrijf biedt gas, stroom en waterstof aan. Elk energietype heeft een eigen CO₂-factor die gebruikt wordt om de uitstoot per offerte te berekenen. Deze factoren veranderen jaarlijks op basis van nieuwe wetgeving.

Stap-voor-stap uitwerking

1

Maak Custom Metadata Type

Energy_Factor__mdt met velden: Energietype__c (Text), CO2_Factor__c (Number).

2

Vul metadata-records in

Voeg records toe voor elk energietype:

  • • Gas: 1.8 kg CO₂/m³
  • • Stroom: 0.4 kg CO₂/kWh
  • • Waterstof: 0.0 kg CO₂/kg
3

Bouw Flow voor offerte

De Flow haalt het juiste metadata-record op basis van het gekozen energietype en gebruikt de CO₂-factor om de totale uitstoot te berekenen.

4

Wijzig factor in metadata

Als de CO₂-factor verandert, pas je alleen het metadata-record aan. Geen herdeployment, geen Flow-wijziging – het werkt direct.

Voordeel: Je behoudt één generieke Flow. Alle energie-specifieke waarden staan in Custom Metadata en zijn beheerbaar door admins.

Best Practices

Tips van CRM Force

Gebruik Custom Metadata wél voor
  • Logica die je wilt centraliseren
  • Waarden die je meeneemt tussen omgevingen
  • Delen tussen Flow en Apex
  • Configuratie die zelden wijzigt maar cruciaal is
Gebruik Custom Metadata niet voor
  • Klantdata of transacties
  • Data die gebruikers dagelijks wijzigen
  • Tijdelijke campagnes of seizoensdata
  • Data met complexe relaties of grote volumes

Sparren over jouw Salesforce-configuratie?

We helpen je graag bij het slim inzetten van Custom Metadata, Flow en Apex voor een schaalbaar platform.