Approval Matrices
40 min
this guide shows you how to use approval matrices to handle complex, multi dimensional approval routing based on combinations of factors like discount level, deal size, product type, and region what is an approval matrix? an approval matrix is a lookup table that determines who should approve a record based on multiple criteria instead of creating dozens of individual approval steps with complex conditions, you define a matrix that maps combinations of values to specific approvers ┌─────────────────────────────────────────────────────────────┐ │ approval matrix │ ├─────────────┬───────────┬───────────┬───────────┬──────────┤ │ discount │ <$50k │ $50k 100k │ $100k 250k│ >$250k │ ├─────────────┼───────────┼───────────┼───────────┼──────────┤ │ 0 10% │ auto │ manager │ director │ vp │ │ 10 20% │ manager │ director │ vp │ cro │ │ 20 30% │ director │ vp │ cro │ ceo │ │ >30% │ vp │ cro │ ceo │ board │ └─────────────┴───────────┴───────────┴───────────┴──────────┘ business scenarios covered scenario description discount + deal size matrix different approvers based on discount percentage and deal value product + region matrix route by product family and sales region customer tier + contract length approval authority varies by customer tier and commitment multi dimensional lookup three or more factors determine approver scenario 1 basic discount × deal size matrix requirement approval authority increases with both discount percentage and deal value step 1 create the matrix definition navigate to approval matrices tab → new fill in the basic information setting value matrix name discount deal size matrix active ✓ available objects quote step 2 define row dimension (discount ranges) under row definitions , click + new for each discount tier row name field operator value low discount discount less than or equal 10 medium discount discount less than or equal 20 high discount discount less than or equal 30 very high discount discount greater than 30 note rows are evaluated in order the first matching row is used step 3 define column dimension (deal size) under column definitions , click + new for each amount tier column name field operator value small deal amount less than 50000 medium deal amount less than 100000 large deal amount less than 250000 enterprise deal amount greater than or equal 250000 step 4 populate matrix cells click on each cell intersection to assign approvers small deal medium deal large deal enterprise low discount auto approve manager director vp medium discount manager director vp cro high discount director vp cro ceo very high discount vp cro ceo board review for each cell, configure setting value approver type role or user approver \[select appropriate role/user] step 5 link matrix to approval step open your approval step under approvers , click + new → + new matrix approver select your discount deal size matrix click save how it works quote submitted $175k, 22% discount │ ▼ matrix lookup row high discount (22% ≤ 30%) ✓ column large deal ($175k < $250k) ✓ │ ▼ cell result cro approval required │ ▼ approval request created for cro scenario 2 product family × region matrix requirement different approval chains based on product type and sales region matrix configuration row dimension product family row name field operator value software product family c equals software services product family c equals services hardware product family c equals hardware bundle product family c equals bundle column dimension region column name field operator value north america account region c equals na emea account region c equals emea apac account region c equals apac latam account region c equals latam matrix cells north america emea apac latam software na software lead emea software lead apac software lead latam software lead services na services dir emea services dir apac services dir latam services dir hardware na ops manager emea ops manager apac ops manager latam ops manager bundle na deal desk emea deal desk apac deal desk latam deal desk scenario 3 three dimensional approval logic requirement approval varies by discount, deal size, and customer tier approach nested matrices since a single matrix supports two dimensions, use multiple matrices or combine with step entry criteria option a matrix + step criteria create separate approval steps for each customer tier, each using the same discount×deal matrix step 1 standard customer approvals entry criteria account customer tier c = 'standard' matrix approver standard customer matrix step 2 premier customer approvals entry criteria account customer tier c = 'premier' matrix approver premier customer matrix (with higher thresholds) step 3 strategic customer approvals entry criteria account customer tier c = 'strategic' matrix approver strategic customer matrix (highest authority) option b formula based dimension create a formula field that combines dimensions customer discount tier c = case( account customer tier c, 'strategic', text(discount) & ' strategic', 'premier', text(discount) & ' premier', text(discount) & ' standard' ) use this combined field as one matrix dimension scenario 4 line item level matrix lookup requirement matrix lookup based on the highest discount across line items by product category configuration 1\ create variables for each product category variable name object filter function maxsoftwarediscount quotelineitem product family = 'software' max(discount) maxservicesdiscount quotelineitem product family = 'services' max(discount) maxhardwarediscount quotelineitem product family = 'hardware' max(discount) 2\ create formula field for matrix lookup create a formula field that determines which product has the highest discount highest discount category c = case( true, $maxsoftwarediscount >= $maxservicesdiscount && $maxsoftwarediscount >= $maxhardwarediscount, 'software', $maxservicesdiscount >= $maxhardwarediscount, 'services', 'hardware' ) 3\ use in matrix row dimension configure matrix row to use highest discount category c field scenario 5 auto approve matrix cells requirement small deals with low discounts should auto approve without human intervention configuration when configuring a matrix cell setting value approver type auto approve auto approve ✓ checked matrix with auto approve cells small (<$25k) medium ($25k 100k) large (>$100k) 0 5% ✓ auto manager director 5 15% manager director vp >15% director vp cro when a quote falls into the "small + 0 5%" cell, it auto approves immediately scenario 6 matrix with multiple approvers per cell requirement certain combinations require approval from multiple people/teams configuration a single matrix cell can contain multiple approvers setting configuration cell large deal + high discount approver 1 vp sales (user) approver 2 deal desk team (group) approver 3 finance review (role) resolve on unanimous or first approval result when a record matches this cell, approvals are created for all three approvers based on the resolution setting matrix design best practices dimension selection good dimensions poor dimensions discount ranges (clear tiers) exact discount values (too specific) deal size brackets calculated fields that change frequently product family individual skus (too granular) customer segment free text fields geographic region fields with many possible values row/column ordering rows are evaluated top to bottom put most specific conditions first columns are evaluated left to right same logic applies use clear naming conventions tier 1 , tier 2 or small , medium , large default/catch all handling always include a final row and column with broad criteria to catch edge cases row criteria other field is not blank (matches any value) this ensures every record maps to a cell rather than failing the matrix lookup troubleshooting matrices issue cause solution no approver assigned record doesn't match any cell add catch all row/column wrong approver row/column order incorrect reorder so specific criteria come first matrix not triggering matrix not linked to step add matrix approver to approval step multiple cells match overlapping criteria make criteria mutually exclusive performance issues too many dimensions simplify or use step based conditions matrix vs multiple steps when to use a matrix more than 4 5 approval variations two clear dimensions (discount × size, product × region) approval authority forms a logical grid business rules are table driven when to use multiple steps linear escalation (manager → director → vp) simple conditions (if x then y) need for step dependencies different approval logic for each scenario advanced dynamic matrix selection requirement use different matrices based on record criteria using formula field create a formula that returns the matrix api name active matrix c = case( account region c, 'na', 'na approval matrix', 'emea', 'emea approval matrix', 'global approval matrix' ) configure the matrix approver to use this formula field for matrix selection related guides discount approval workflows docid\ uu08kacohc10hl9a1zr4n non matrix discount approvals regional approvals docid\ dxj0y84brrkynecl8i9cm geographic routing patterns configuration entry criteria docid\ jueqw5ihkigwapzfrtszk building conditions need help? check our troubleshooting guide docid\ sgpxdyp dpg9a9uanwlis or faq docid\ relcvm0ggisy7rghm2jml