R1D43 Getting Hands Dirty with Apex

| programming | salesforce |

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.

  1. Ensuring validation when the state of an opportunity changes to closed won.
  2. Firing off an event when that happens.
  3. Taking the data from the opportunity and formatting it properly as JOSN to send to the third party system.
  4. Find all the files attached to the opportunity (this turned out to be a rabbit hole of epic proportions.)
  5. Firing off the HTTP POST to the third party system. This includes figuring out some sane way to store the token safely.
Outside of #4 (so far) I have everything else more or less working. I learned a whole lot about Apex doing this hands on exercise.

Notably:

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

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Experimenting with Starlette 1.0 with Claude skills

Starlette 1.0 is out! This is a really big deal. I think Starlette may be the Python framework with the most usage compared to its relatively low brand recognition because Starlette is the foundation of FastAPI, which has attracted a huge amount of buzz t…

via Simon Willison's Weblog: Entries March 22, 2026

Speeding Up Django Startup Times with Lazy Imports

At Fancer we are building the security suite for startups. Startups use a lot of SaaS tools and services which means we are building a lot of integrations. Most of these go through API calls but we also try to leverage SDKs to make our lives a little bit …

via Anže's Blog March 22, 2026

USR stablecoin depegs in $24 million exploit

The Resolv USD stablecoin, also known as USR, lost its intended dollar peg and dropped to around $0.14 after an exploiter was able to mint and sell tens of millions of unbacked tokens. USR is an asset-backed stablecoin that uses cryp…

via Web3 is Going Just Great March 22, 2026

Generated by openring