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
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- 21st Century C++ from Communications of the ACM
- Submarines DevCon 2025 Keynote Speech from JoshHaines.com
- How I Use AI: Meet My Promptly Hired Model Intern from Armin Ronacher's Thoughts and Writings
- DeepSeek from Maggie Appleton
- Digital Reality Digital Shock from Christopher Butler
- 10 habits to help becoming a Debian Maintainer from Optimized by Otto
- Tiny corners from Manuel Moreale RSS Feed
- Build It Yourself from Armin Ronacher's Thoughts and Writings
Articles from blogs I follow around the net
Pluralistic: America and "national capitalism" (18 Feb 2025)
Today's links America and "national capitalism": How the EU should respond to Trumpism. Hey look at this: Delights to delectate. Object permanence: 2005, 2010, 2015 Upcoming appearances: Where to find me. Recent appearances: Where I've bee…
via Pluralistic: Daily links from Cory Doctorow February 18, 2025My Life in Weeks by Gina Trapani
OMG. Life perspective through UI. I freaking love it. Check out My Life in Weeks by Gina Trapani
via Blog – Brad Frost February 18, 2025Argentinian president Javier Milei promotes memecoin that then crashes 95% in apparent $100 million+ rug pull
A tweet from Argentina's president Javier Milei promoted a memecoin called Libra, which he described as a "private project [that] will [be] dedicated to encouraging the growth of the Argentine economy by funding small Argenti…
via Web3 is Going Just Great February 18, 2025Generated by openring