R1D43 Getting Hands Dirty with Apex
I started my Salesforce Trailhead journey so that I could solve real problems that we have on my team. I took everything that I learned over the last few weeks and started working on one of those problems.
Like most things in life, everything looks very simple when you see it presented in a tutorial format, and then when you start to get in the weeds things become a bit more complicated.
The problem that I am trying to solve is to send some data to a third party service any time a deal closes. This requires thinking about a few things.
- Ensuring validation when the state of an opportunity changes to closed won.
- Firing off an event when that happens.
- Taking the data from the opportunity and formatting it properly as JOSN to send to the third party system.
- Find all the files attached to the opportunity (this turned out to be a rabbit hole of epic proportions.)
- Firing off the HTTP POST to the third party system. This includes figuring out some sane way to store the token safely.
Notably:
- Very handy JSONGenerator class that makes it very easy to create well formatted JSON objects.
- Static typing takes some getting used to.
- Apex does not support multiline string formatting out of the box so you have to do things the old fashioned way.
String descriptionTemplate =
'Account Name: {0}\n' +
'Account Email: {1}\n' +
'Plan: {2}\n' +
'Plan Description: {3}\n' +
'Invoice Amount: {4}\n' +
'Invoice Frequency: {5}\n';
I am looking forward to wrapping this up and moving on to the next, slightly more complicated problem that I am trying to solve with Salesforce.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2025
- Ladybird on Debian Stable
- My Custom Miniflux CSS Theme
- Setting up ANTLR4 on Windows
- SQLite DB Migrations with PRAGMA user_version
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Pluralistic: bunnie's piggyback hack (09 Jan 2026) from Pluralistic: Daily links from Cory Doctorow
- Clicks Communicator from Chris Hannah
- A Year Of Vibes from Armin Ronacher's Thoughts and Writings
- Pluralistic: A perfect distillation of the social uselessness of finance (18 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- Moving from WordPress to Substack from charity.wtf
- Grow, Like a Tree Not a Cancer from Jim Nielsen’s Blog
- Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- DEP-18: A proposal for Git-based collaboration in Debian from Optimized by Otto
Articles from blogs I follow around the net
Go Read a Book
There's a lot of shitty news happening lately, and I've been having trouble holding space for it all.
via flower.codes January 24, 2026ROSCon Korea 2026 Review
After attending my first ever ROSCon in Singapore 3 months ago, I had a chance to participate in the first ever regional ROSCon in (South) Korea! Physical AI is here I had an interesting discussion with a team lead at ROBOTIS, a major Robotics company , o…
via Junwoo Hwang January 24, 2026[RIDGELINE] Eras
Ridgeline subscribers — I like “eras.” That is, named chunks of time. Japanese history tends to periodicize based on locus of power. The Tokugawa Shogunate reigned for hundreds of years, and so: Edo, where the power was, becomes the period (a big sweeping o…
via Craig Mod — Writer + Photographer January 24, 2026Generated by openring