R1D45 Queueable Apex

| programming | salesforce |

I am pretty sure that by the third week of any budding Apex developers journey they run into the following error in their code.

Error: 'You have uncommitted work pending. Please commit or rollback before calling out.'

The help documentation does a decent job explaining what is happening. It turns out that if you have any DML in your code,  you cannot make a "callout" (HTTP call) in the same method.

Unfortunately, there is no way to “commit” in Apex. What they really mean, is you need to do this step asynchronously. There are two ways of doing this. Using the @future annotation (I still have no idea how this works) or using Queueable Apex.

This allows you to essentially schedule jobs on a separate “thread” and not block the other parts of salesforce while your code runs.

The thing that threw me off was that I was not actually doing any DML in my code. My code is triggered with a DB trigger when a record is inserted or updated. I assumed that since the record was already inserted or updated then it would also already be “committed”, but this turns out to not be the case and I suppose this rule applies to anything that has to do with the Salesforce database.

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

“The system is so twisted that even Apple itself begs for these reviews from its own apps.”

A good post by John Gruber on Daring Fireball investigating why apps pester you with the annoying “enjoying this app?” windows and attendant semi-shady practices (choose 5 stars and you get sent to App Store, but choose anything less, and your review will...

via Unsung April 20, 2026

Issue 104 – World Tyranny Financial

As the Trump family’s crypto dealings raise more alarms, crypto enforcement is falling to new lows

via Citation Needed April 20, 2026

Thank You For Being a Friend

It's been one of those months, and by that, I mean one of the 663 months since I was born. This won't be a long post, because I only have two things to say. First, I'm really glad we re-ordered the GMI (Guaranteed Minimum

via Coding Horror April 20, 2026

Generated by openring