Solutions4sf I build CRMs, and fix the ones that broke

Service Cloud for agencies · certificates of insurance

Certificate requests stop drowning the inbox
once they are a case type of their own.

Make certificate of insurance requests a separate case type: every email to a service address becomes a case, and words kept as custom metadata records mark it as a certificate before anybody reads it. The requests then sit in their own list, are answered from saved replies and are timed like any other work. This is how it was built for a trucking insurance agency in the US, and what I would build differently now.

Reviewed 1 November 2026.

Why bother

Why should certificate requests be their own case type?

Because they are the most repetitive request an agency gets and the easiest to lose. Mixed with claims and policy changes, a certificate request waits behind them in the same inbox. As a type of its own it gets its own list, its own saved replies and its own count, so the manager sees the queue instead of guessing.

It also changes what the owner can ask. “How many certificates did we issue this week, and how long did they wait?” has an answer the same afternoon. The desk this comes from carried its agency from one Salesforce user to 35 in twelve months; how that desk was built is in the case study, and this article goes one level deeper, into the certificate rules alone.

Recognition

How does Salesforce recognise a certificate request in an email?

By words, not by a person. A custom metadata record for each service mailbox lists the words that mean certificate, additional insured or loss payee. When an email arrives, Apex reads the subject and body and ticks a checkbox for each match, and a flow turns the ticks into one request type such as CI/AI.

Custom metadata is the right home because, as Salesforce’s Trailhead unit on custom metadata types puts it, the records are metadata, not data, and Apex, flows, formulas and validation rules can read them directly. The administrator edits them in Setup; nothing waits for a release. These are the starting words; the agency’s own come from its last few weeks of mail.

Certificate of insurancecertificate, COI, cert of insurance, certificate holderCI
Additional insuredadditional insured, AIAI
Loss payeeloss payee, lienholderLP
  1. 01

    One settings record per service mailbox

    A custom metadata type, EmailToCaseSettings__mdt, holds each address clients write to: info@, service@, certificates@. Under it, EmailToCaseField__mdt rows name a checkbox on the case and the words that tick it, comma separated. The code reads To, Cc and Bcc, so a certificate request that only copies the service address is still recognised.

  2. 02

    Three ticks, one request type

    Three checkboxes on the case: certificate of insurance, additional insured, loss payee. One email often asks for two of them at once, which a single picklist set from the email cannot say. A record triggered flow turns the ticks into one value: CI, CI/AI, CI/LP, CI/AI/LP, AI, AI/LP, LP, or Other when nothing matched. Any tick also sets the case Type to COI.

  3. 03

    Compare the words the way people write them

    The version that went live compared the text exactly as typed and as a fragment. That had two costs. The keyword AI also matched inside capital letters such as EMAIL or DETAILS in a shouted subject line, and a client who wrote coi in lower case was missed. The rule now: whole words, case ignored, subject and plain text body only. I now write that into the scope.

  4. 04

    A follow up on a closed certificate is typed again

    When a client answers a closed certificate case, a new case opens and is linked to the old one. The copied email passes through the same trigger, so the same rules type the new case. Test it on purpose: a follow up that arrives as Other drops out of the certificate list and nobody sees it until the client calls.

Four steps of a certificate request in Salesforce: an email to a service mailbox (info@, service@, certificates@), words kept as custom metadata records per mailbox (CI, AI, LP, whole words, case ignored), three ticks turned into one request type from CI to CI/AI/LP or Other, and the first line queue where new COI cases wait oldest first. Cases typed Other are opened weekly and the missing word is added as a record.
One email, four steps: the words per mailbox tick the boxes, the ticks set the request type, and the case waits in the first line queue. Cases typed Other show the words still missing.

Routing and the answer

Where should certificate cases go, and who answers them?

Into the first line queue, not to a named person. The request type sorts the work rather than moving it: a list of new certificate cases, oldest first, is the certificate desk. One representative takes a case, owns it until it closes, and answers from a saved reply, so a client never gets two certificates or none.

The mail has to arrive as cases first: each service mailbox forwards to a Salesforce routing address, as Trailhead’s Email to Case set up shows. Duplicate cases and reply loops would inflate every number below, and their five causes are in the Email to Case duplicates article.

  1. 01

    It stays in the first line queue

    A certificate is usually answered by the service representative who takes it, so the type does not send it to another team. It sorts the work: a list view of new COI cases, oldest first, is the certificate desk. Claims, cancellations and policy changes move to their own queues by type.

  2. 02

    One person takes it, then replies

    Nobody answers a case they have not taken, so two people never issue the same certificate. How taking a case works, and why it beats assigning, is in the agency case study.

  3. 03

    Holders the agency issues to again and again

    If the same general contractors and shippers ask every month, keep them as a holder list on the client: name, address, email. The agent picks the holder instead of retyping it. Whether this is worth an object of its own is decided from the agency’s own mail, not in advance.

  4. 04

    Saved replies for the four answers that repeat

    Lightning email templates in one folder: certificate sent, certificate needs information, request received, request passed to the carrier. The certificate itself is still issued where the policy lives; the case records who sent which reply, and when.

What to count

Four numbers worth a weekly look.

Start with this query in the Developer Console once certificate cases exist. It shows the mix of the last 30 days by request type; field names are the ones used in this build.

SELECT Request_Type__c, COUNT(Id) FROM Case WHERE Type = 'COI' AND CreatedDate = LAST_N_DAYS:30 GROUP BY Request_Type__c
  1. 01

    Certificate cases per week, and their share of all cases

    This is the number that tells the owner whether certificates need a person of their own. Compare it with the count from the last 100 emails before the build.

  2. 02

    The mix: CI alone against CI with AI or LP

    A plain certificate is a reply. One that names an additional insured or a loss payee sends the agent back to the policy, so it takes longer and belongs in a separate line of the report.

  3. 03

    Time from arrival to taken, and from arrival to closed

    Counted in working hours, as a median and a 90th percentile per week. The agency I built this for first asked for a separate clock just for certificates and then dropped it: the same four clocks every case has, filtered by request type, answer the question.

  4. 04

    Cases typed Other that were really certificates

    Open them once a week. Each one is a word missing from the rules: a broker who writes “evidence of coverage”, a carrier template, a new phrase. The administrator adds the word as a record and the next email is typed correctly, with no deployment.

Asked often enough to answer here

Questions

  • Q

    Does Salesforce create the certificate itself?

    Not in this build. The certificate is issued where the policy lives, in the agency management system. Salesforce runs the request around it: who took it, which holder, which reply went out, and how long it took. Producing certificates inside Salesforce is a separate project and needs the policy data there first.

  • Q

    Do we need a developer to add a new phrase?

    No. The administrator opens Setup, Custom Metadata Types, Manage Records, and adds a word to the right row. The next email that uses it is typed correctly. A developer is needed only to change how matching works, for example to read attachments.

  • Q

    What if a client writes to the wrong address?

    The rules are kept per mailbox, so give every service address its own settings record with the same certificate words. Then a request typed correctly does not depend on which address the client remembered, and a dedicated certificates address is a convenience, not a requirement.

Certificates are recognised in mail that already arrives as cases, so the first stage is email to cases, 80 to 110 hours, €5,200 to €7,150. Certificates and quick requests follow as their own stage, 40 to 50 hours, €2,600 to €3,250, on the insurance agency page.

Serhii Skrypnyk · Senior Salesforce Administrator · 7 Salesforce certifications · on the platform since 2018. Reviewed 1 November 2026.

Read next

  1. 01

    Applied Epic and Salesforce: Who Holds What

    An agency on Applied Epic adding Salesforce: what stays in Epic, what moves to the service desk, and how clients and policies cross over without an integration.

  2. 02

    Email to Case Duplicate Cases and Loops

    Why Salesforce Email to Case is creating duplicate cases or an auto response loop: five causes, two queries that tell them apart, and the closed case decision.

  3. 03

    Salesforce SLA Clocks in Business Hours

    Why a Salesforce SLA clock counts nights and weekends, where business hours have to be set, and how to count only working time, holidays and waiting included.