{"id":31,"date":"2025-06-07T21:10:34","date_gmt":"2025-06-07T21:10:34","guid":{"rendered":"https:\/\/10xforce.cloud\/blog\/?p=31"},"modified":"2025-06-08T20:48:31","modified_gmt":"2025-06-08T20:48:31","slug":"salesforce-marketing-cloud-when-content-approval-breaks-your-transactional-sends","status":"publish","type":"post","link":"https:\/\/10xforce.cloud\/blog\/salesforce-marketing-cloud-when-content-approval-breaks-your-transactional-sends\/","title":{"rendered":"Salesforce Marketing Cloud: When Content Approval Breaks Your Transactional Sends"},"content":{"rendered":"\n<p>Recently, I came across a <a href=\"https:\/\/www.martechnotes.com\/salesforce-marketing-cloud-manually-add-approver-to-email-template\/\">blog post<\/a> discussing the poor user experience and implementation of the approval process in Content Builder. Couldn\u2019t agree more with it.<\/p>\n\n\n\n<p>But it inspired me to share my experience with this feature and point out a related bug (or a feature, depending on how you look at it) before the decision to use it.<\/p>\n\n\n\n<p>So what happened?<\/p>\n\n\n\n<p>It was a quiet Tuesday morning. I had my coffee, and my email was ready in Content Builder. I turned on Content Approval and added myself as the approver. I felt safe. What could go wrong?<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\"><strong>Before the Problem<\/strong><\/h2>\n\n\n\n<p>I opened Postman and used the API to make a new Transactional Send Definition. I thought it would go live right away. I&#8217;ve done this many times. But the status stayed <em>Inactive<\/em>. No detailed error message, as usual. No clue why. I even tried the API Update to make it \u201cActive,\u201d but that failed too, with the same error message.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>A Long Search<\/strong><\/p>\n\n\n\n<p>My live demo with a client was coming up fast. I was nervously looking for a fix through forums. I was checking the Approvals tab and settings. I read the API docs and <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=mktg.mc_ceb_get_started_with_approvals.htm&amp;type=5\">Content Builder Approval<\/a> documentation again. Nothing helped. My client waited, and I could not say, \u201cHere it is.\u201d<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>The Simple Fix<\/strong><\/p>\n\n\n\n<p>Finally, after a few hours of trying everything I found online and failing, I decided to turn Content Approval off on the account level. Then I tried to create the send definition again. This time, it became active right away!&nbsp;<\/p>\n\n\n\n<p><strong>So, it turns out Marketing Cloud won\u2019t let you activate a send definition via API, even if the email has already been approved. Disable content approval first, and it works.<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>The Hidden Trap<\/strong><\/p>\n\n\n\n<p>Feeling happy, I turned Content Approval back on, but there is a catch. That is when I saw it: every email in my account had just been automatically approved. Pending reviews? Rejections? Wiped clean.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Things I Learned<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Turn Off Approval First<\/strong><br>If you will use an email in a Transactional Send Definition, always turn off Content Approval first.<\/li>\n\n\n\n<li><strong>Use Clear Names<\/strong><br>Add <em>\u2013noApproval<\/em> at the end of your template names. That way, you know which ones must stay not approved\/open.<\/li>\n\n\n\n<li><strong>Make a Simple Checklist<\/strong>\n<ul class=\"wp-block-list\">\n<li>Turn off Content Approval<\/li>\n\n\n\n<li>Create your send definition (it will be active)<\/li>\n\n\n\n<li>Turn Content Approval back on and fix any real pending reviews<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Check Your Approvals<\/strong><br>After you turn approval back on, look at your pending and rejected emails so nothing is missed.<\/li>\n<\/ol>\n\n\n\n<p>Use this easy trick, and you\u2019ll skip the panic, run smooth demos, and keep your approval queue safe. \ud83d\ude42<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I came across a blog post discussing the poor user experience and implementation of the approval process in Content Builder. Couldn\u2019t agree more with it. But it inspired me to share my experience with this feature and point out a related bug (or a feature, depending on how you look at it) before the &#8230; <a title=\"Salesforce Marketing Cloud: When Content Approval Breaks Your Transactional Sends\" class=\"read-more\" href=\"https:\/\/10xforce.cloud\/blog\/salesforce-marketing-cloud-when-content-approval-breaks-your-transactional-sends\/\" aria-label=\"Read more about Salesforce Marketing Cloud: When Content Approval Breaks Your Transactional Sends\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":40,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[8],"class_list":["post-31","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-marketing-cloud"],"_links":{"self":[{"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":8,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":49,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/posts\/31\/revisions\/49"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/media\/40"}],"wp:attachment":[{"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/10xforce.cloud\/blog\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}