Salesforce Administrator · AI Builder

Salesforce Administration,
Rebuilt with AI

I administer a production Salesforce org and built an agentic AI system on Claude Code that automates the support ticket lifecycle. Leadership adopted it department-wide and asked me to train the admin and developer teams.

Read the Case Study
Salesforce Certified Consultant
Salesforce Certified Pardot Specialist
claude code · salesforce workflow
> /pickup TICKET-1284 Picking up TICKET-1284 (last session 3 weeks ago) Phase: Validation Last confirmed: 5/5 validation steps PASS Waiting on: Dev team approval > /confidence-check Weakest sub-claim: timing evidence (72%) Verdict: report with caveats + 1 validation step >
0
Years of Pardot
3+
Years Salesforce Admin
0
Custom AI Skills
98+
Tickets Automated

Where I've Done the Work

Salesforce and Pardot are not tools I picked up for a portfolio. They have been my day job for a decade, from freelance marketing automation to administering a production org for a national nonprofit.

Salesforce Administrator

Dec 2024 to Present
National cybersecurity nonprofit
  • Administer the production Salesforce org: user provisioning, role and profile configuration, permission sets, data quality audits, custom reports, and Flow troubleshooting.
  • Designed and built the agentic AI workflow featured below. After it proved out across 98+ tickets, leadership adopted it department-wide and selected me to lead adoption.
  • Onboarded the Salesforce admin team onto Claude Code and VS Code, and run a weekly hands-on training session for the admin and developer teams (12 trained so far).
  • Resolve cross-platform Salesforce to Pardot issues (sync errors, form handlers, segmentation) that would otherwise route to engineering.

Senior Pardot Automation Specialist

Jun 2022 to Dec 2024
National cybersecurity nonprofit
  • Developed and managed end-to-end marketing campaigns: landing pages, email sends, and multi-step nurture programs with audience segmentation that improved qualified-lead quality for the handoff to sales.
  • Streamlined complex Pardot automation and scoring models to sharpen lead qualification; reworked inherited flows to remove stale rules and fix silent sync failures.
  • Delivered campaign performance insights via Salesforce reports and dashboards that guided ongoing nurture strategy.

Freelance Marketing Automation Specialist

2016 to Present
Austin, TX
  • Built and optimized automated marketing campaigns across Pardot (since 2016), HubSpot, and Mailchimp for client businesses.
  • Designed HTML/CSS landing pages, ran A/B tests, and managed PPC campaigns; delivered analytics via Google Analytics, Moz, and SEMRush.

Agentic AI Workflow for Salesforce

An agentic AI system I designed from scratch that turns Claude Code into a consistent partner for Salesforce support. Every ticket runs the same five-phase lifecycle, from discovery to a validated root cause, with a governance layer most AI tools skip. After it proved out, leadership adopted it department-wide.

Investigation time per ticket
Manual, via Setup
hours
With the workflow
minutes

Measured across 98+ tickets. Consistent artifacts and an audit-ready paper trail on every one.

The Map

How a Ticket Flows Through the System

This is the actual working order, from the moment a ticket lands to the moment its learnings feed the next one.

Ticket lands → scaffolded into a clean workspace
01

Discovery

Investigate org metadata: objects, flows, triggers, fields. Confirmed evidence stays separate from speculation.

02

Diagnosis

Pin down root cause and produce step-by-step fix notes, for me to run or as a clean dev handoff.

03

Validate

Check every expected behavior against debug logs. Pass or fail per step, with evidence.

validation fails? ← loops back to diagnosis
04 At any moment: /handoff saves structured state, /pickup restores it weeks later
05

Retro

Debrief the closed ticket against its own evidence. What assumptions were wrong? What would make the next one faster?

06

Knowledge Capture

Create or update reference docs and runbooks, and fine-tune the skills themselves.

↻ every learning feeds the next ticket
Running underneath every phase: PII redaction · evidence-graded confidence · read-only guardrails
Chapter 01

The Five-Phase Ticket Lifecycle

Support work has a repeating shape: dig through Setup, cross-reference metadata by hand, write up findings, hand off, then start from scratch on the next ticket. The workflow replaces that with a fixed pipeline. Every ticket, simple or complex, produces the same artifacts and leaves the same paper trail.

scaffold discovery diagnose validate retro

Discovery writes findings with confirmed evidence clearly separated from speculation. Diagnose pins down root cause and produces implementation-ready notes. Validate checks each expected behavior against debug logs, pass or fail per step. The AI never pushes changes to the org. That action is always human.

Chapter 02 · The part most AI tools skip

AI Governance: The Confidence Check

The dangerous failure mode in AI-assisted support is not a wrong answer that sounds wrong. It is a plausible root cause that sounds right, gets reported to a stakeholder, and turns out to be an inference dressed up as a fact.

So I built a skill that breaks every finding into its component claims, grades the actual evidence behind each one, and caps how confident the AI is allowed to sound based on what kind of evidence it really has.

Overall confidence is the lowest sub-claim score, not an average: a root cause with airtight mechanism evidence but a 40% timing claim is a 40% root cause. Above 90%, it ships as a finding. Between 70 and 89, it ships with explicit caveats. Below 70, it is a hypothesis, and nobody acts on it until the validation runs.

Evidence behind a claimCap
Live query or fresh screenshot98%
Metadata snapshot or saved result92%
Pattern match from a prior ticket70%
Correlation, no controlled test65%
No cited evidence at all60%
"Likely" with no specific evidence45%
Chapter 03

Metadata-Verified SOQL

Describe what you want in plain English; get back a query where every field was verified against a pre-built metadata index before it was used. The skill will never guess a custom field name: if a field is not in the index, it says so instead of inventing one.

On a real request for stale-stage Opportunities, it surfaced a custom field tracking exactly when Stage last changed, instead of building an OpportunityHistory workaround by hand. PII-flagged fields are stripped from the SELECT clause automatically.

Plain English in → verified SOQL out
-- "Open Opps where Stage hasn't changed -- in 45+ days and close date passed" SELECT OwnerId, StageName, COUNT(Id) RecordCount FROM Opportunity WHERE IsClosed = false AND CloseDate < TODAY AND Stage_Last_Changed__c < LAST_N_DAYS:45 GROUP BY OwnerId, StageName ORDER BY COUNT(Id) DESC
Chapter 04

Automated PII Redaction

A Python pipeline runs 13 targeted redaction passes over any file before it can go into an AI tool: names, emails, phones, SSNs, org names, domains, and URL tokens. Record IDs, timestamps, and log structure survive, so the scrubbed file is still fully usable for investigation.

The same value always gets the same tag: the email appears twice, and both times it becomes REDACTED_EMAIL_1, so one person stays traceable through an entire log. Every run is audit-logged, and the raw file is deleted in the same step.

Raw log (mock data)
Contact: 003Aa00001XyZtWQ Name: Maria Delgado Email: m.delgado@summitridge.com Phone: (512) 555-0184 Notify: m.delgado@summitridge.com
After scrub-pii.py
Contact: 003Aa00001XyZtWQ Name: REDACTED_NAME_1 Email: REDACTED_EMAIL_1 Phone: REDACTED_PHONE_1 Notify: REDACTED_EMAIL_1
Chapter 05

A Knowledge Base That Compounds

0
Runbooks
0
Reference Docs

Ticket folders age out after 30 days. Two skills capture what would otherwise vanish: reference docs explain how a system works end to end, runbooks capture step-by-step procedures with verification and rollback. Recurring issues take minutes to look up instead of hours to re-investigate, and the knowledge survives turnover.

Chapter 06

Session Continuity

Tickets pause for weeks waiting on vendors or devs. A handoff skill saves structured state; a pickup skill restores it with a six-line briefing:

Picking up TICKET-1284 Phase: Validation Confirmed: 5/5 steps PASS Open: Deploy not scheduled Waiting on: Dev team approval Next: 1. Confirm 2. Schedule

Re-oriented in under a minute, with no risk of re-running a concluded investigation.

Chapter 07 · The loop

The System Improves Itself

When a ticket closes, a retrospective skill reads the full investigation record and extracts signals before asking a single question: which assumptions were never verified, whether the components touched were known territory, how many hypothesis revisions it took to reach root cause. Each learning routes to the right home: a runbook, a reference doc, or a standing-rule change.

The part I am proudest of: if a skill underperformed on the ticket, a second phase walks through that skill's own instructions section by section and edits them on the spot, before the next ticket hits the same gap. The system gets measurably better at the job every week without manual maintenance.

Chapter 08

Live SFDX Environment and Risk-Tiered Command Safety

Once the snapshot-based workflow was solid, I stood up a fully live Salesforce DX environment (VS Code + Salesforce CLI) against a pre-production sandbox, built the way a production CI pipeline should look: ESLint and Prettier enforced on every commit via Husky, Jest unit tests running against exactly the LWC components that changed, and a two-branch Git strategy that keeps a 53-metadata-type investigation snapshot from ever contaminating a clean, reviewable ticket branch.

The bigger design decision was trust. Every CLI operation is classified into three risk tiers, enforced both in the written rules the AI follows and in hard hooks that block the command outright:

TierOperationsPolicy
Always allowedRetrieve, query, lint, testCannot hurt anything; runs freely
Approval requiredDeploy, push, anonymous ApexExplicit human approval, every time
Hard blockedBulk data import or deleteNever runs via CLI; stays manual in the UI, permanently

I planned this as a team rollout, not a personal setup: a private-repo distribution model so the whole support team pulls skill and guardrail updates via git, plus the full documentation set. Today I run a weekly hands-on training session teaching the workflow to the admin and developer teams.

Salesforce DX sf CLI ESLint + Prettier + Husky Jest LWC tests Git 12 teammates trained
The Sum

What It Replaced

BeforeWith the workflow
Start every ticket from scratchScaffold gives a clean, consistent starting point
Investigation lived in one admin's headInvestigation lives in versioned docs, with evidence
Root cause was "I think it's this"Root cause is backed by metadata and logs
Long tickets got dropped or re-investigatedHandoffs preserve state across weeks
Hard-won org knowledge got lost20 runbooks and 34 reference docs keep it
Each admin solved problems their own wayRepeatable skills produce consistent output

The Stack, Salesforce-First

Salesforce Administration

Flows Validation Rules Permission Sets & Profiles User Provisioning SOQL Reports & Dashboards Metadata Analysis Sandbox Testing Change Set Deployments Record Types

Marketing Automation

Pardot (since 2016) Lead Scoring Segmentation Nurture Programs Salesforce-Pardot Sync Form Handlers Campaign Analytics HubSpot Mailchimp

Dev Tooling

Salesforce DX sf CLI VS Code Git Branching Strategy ESLint Prettier Husky Jest (LWC) Python

AI & Claude

Claude Code Agentic Skill Design Prompt Engineering AI Governance PII Redaction Subagent Orchestration Self-Improving Systems Evidence-Graded Confidence