{"id":4870,"date":"2015-10-13T02:52:14","date_gmt":"2015-10-13T02:52:14","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=4870"},"modified":"2015-10-15T16:08:28","modified_gmt":"2015-10-15T16:08:28","slug":"resolve-24-hour-apex-email-limit-error-in-salesforce","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/resolve-24-hour-apex-email-limit-error-in-salesforce\/","title":{"rendered":"Resolve 24 hour Apex email limit error in Salesforce"},"content":{"rendered":"<p style=\"text-align: justify;\">Sending email from Apex looks very interesting and powerful feature at first glance however by time your application evolves to more complex structure or more data, chances are very high that you will be hitting many Apex email limit related errors. As Salesforce is not mass email sending tool, it makes sense to have limits on total number of outgoing emails per 24 hours.<\/p>\n<p>At a time of writing this post, mainly there would be two types of error while sending email from Apex as explained\u00a0below<\/p>\n<ol>\n<li>Transaction based errors\n<ul>\n<li>We can send 100 emails per SingleEmailMessage<\/li>\n<\/ul>\n<\/li>\n<li>Per day (24 hour) email limit\n<ul>\n<li>We can send 1000 emails per day<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">One point to note here that we can send unlimited emails to internal users including community users. More details on email limits can be found <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.apexcode.meta\/apexcode\/apex_gov_limits.htm#email_limits_section\">here<\/a>\u00a0(Salesforce governor limits)<\/p>\n<p style=\"text-align: justify;\">I have seen multiple questions on Salesforce developer community on how to resolve error related to sending email per 24 hour in Apex. Below solution has been used by me\u00a0for a long time and it is working to send thousands of email per day without any problem.<\/p>\n<p>Let&#8217;s see how we can resolve this error with below design.<\/p>\n<figure id=\"attachment_4878\" aria-describedby=\"caption-attachment-4878\" style=\"width: 435px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Resolve-24-hour-Apex-email-limit-error-in-Salesforce.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4878\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Resolve-24-hour-Apex-email-limit-error-in-Salesforce.png?resize=435%2C545&#038;ssl=1\" alt=\"Resolve 24 hour Apex email limit error in Salesforce\" width=\"435\" height=\"545\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Resolve-24-hour-Apex-email-limit-error-in-Salesforce.png?w=435&amp;ssl=1 435w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Resolve-24-hour-Apex-email-limit-error-in-Salesforce.png?resize=239%2C300&amp;ssl=1 239w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><\/a><figcaption id=\"caption-attachment-4878\" class=\"wp-caption-text\">Resolve 24 hour Apex email limit error in Salesforce<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p><strong>Email tracking Custom Object<\/strong><\/p>\n<p style=\"text-align: justify;\">As we are talking about sending email from Apex code, that means it is very clear that we are ready for some coding. In this case as well, whenever we\u00a0want to send email , we will create a temporary record in email tracking object (Temporary Object). This object could be child of Object which\u00a0needs to\u00a0send email. You may or may not need this object, it completely depends on your project situation. Only reason we need object is to trigger workflow rule and have some basic informations like Email address of users to whom email should be sent. Same object can be used for reporting purpose as well to know how many emails are sent from Apex and who were recipient.<\/p>\n<p><strong>Email recipients <\/strong><\/p>\n<p style=\"text-align: justify;\">This is tricky situation to resolve \u00a0and this might be step because of which this solution may not work for you. Basically, even from Apex email, we need to set recipients in Email. So, instead of setting recipients in Apex email we need to set email addresses of users in temporary custom object.\u00a0if we have many email recipients then we need to figure out maximum number of email fields in custom object and set email address in those fields. You may choose to have email field names as Email1, Email2 etc. We have limit of 500 fields in Enterprise and 800 fields in Unlimited edition anyway.<\/p>\n<p>So till now, we have a custom Object which have information about all email addresses which needs to receive Email.<\/p>\n<p><strong>Use Workflow rule to send Emails<\/strong><\/p>\n<p>Now, we need to create a workflow rule on temporary custom Object saying &#8220;Whenever record is created&#8221; send email.<\/p>\n<p style=\"text-align: justify;\">Till this point you may not notice how powerful this approach could be and question may be popping up in your mind that off-course we know about Workflow rule and it was not solving purpose that&#8217;s why we used Apex approach. Well, you are right but we are yet not done.<\/p>\n<p><strong>Unleashing Visualforce Email template hidden power<\/strong><\/p>\n<p style=\"text-align: justify;\">Whatever you can do with Apex, trigger, almost everything can be done in Visualforce email template. Again you may think that we cannot have apex controller behind it and therefore we cannot control much about output of Visualforce template. Not really; we have workaround here. We cannot have Apex controller for Visualforce Email template but we can have controller for Visualforce component and component can be easily embedded into template.<\/p>\n<figure id=\"attachment_4876\" aria-describedby=\"caption-attachment-4876\" style=\"width: 820px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Visualforce-Email-templates-to-save.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4876\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Visualforce-Email-templates-to-save.png?resize=820%2C320&#038;ssl=1\" alt=\"Visualforce Email templates to save\" width=\"820\" height=\"320\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Visualforce-Email-templates-to-save.png?w=820&amp;ssl=1 820w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Visualforce-Email-templates-to-save.png?resize=300%2C117&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Visualforce-Email-templates-to-save.png?resize=624%2C244&amp;ssl=1 624w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/a><figcaption id=\"caption-attachment-4876\" class=\"wp-caption-text\">Visualforce Email templates to save<\/figcaption><\/figure>\n<p>Lets run by example so that it would make more sense. Whenever any new Contact is created , Send email to newly created contact with information about all related contacts exists for that\u00a0\u00a0Account.<\/p>\n<p>First we need to create Visualforce component, which will get AccountId and ContactId as input and display all related contacts in tabular format<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nglobal class GetSampleAccount{\r\n\r\n    public Id con {get;set;}\r\n    public Id acc {get;set;}\r\n    \r\n    public Account accObj {get;set;}\r\n    \r\n    \/**\r\n    * get all sibling Contacts\r\n    *\/ \r\n    public List&amp;lt;Contact&amp;gt; getAllContact(){\r\n    \r\n    \r\n        if(acc != null)\r\n        {\r\n            accObj = &#x5B;SELECT NAME FROM Account WHERE Id = : acc ];\r\n            return &#x5B;SELECT Id, Name, FirstName, LastName FROM Contact Where AccountId =: acc ];\r\n        }\r\n            \r\n        return null;\r\n    }\r\n}\r\n<\/pre>\n<p>Component Source code:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;apex:component controller=&quot;GetSampleAccount&quot; access=&quot;global&quot; &gt;\r\n &lt;apex:attribute name=&quot;contactId&quot; type=&quot;Id&quot; description=&quot;Id of the Contact&quot; assignTo=&quot;{!con}&quot;\/&gt;\r\n &lt;apex:attribute name=&quot;accId&quot; type=&quot;Id&quot; description=&quot;Id of the Account&quot; assignTo=&quot;{!acc}&quot;\/&gt;\r\n Below are all related Contacts of Account - &lt;u&gt; {!accObj.Name} &lt;\/u&gt;\r\n &lt;table style=&quot;border: 1px solid black;border-collapse: collapse;&quot;&gt;\r\n &lt;thead&gt; \r\n &lt;th style=&quot;border: 1px solid black&quot;&gt; First Name &lt;\/th&gt; \r\n &lt;th style=&quot;border: 1px solid black&quot; &gt; Last Name &lt;\/th&gt; \r\n &lt;\/thead&gt; \r\n &lt;tbody&gt;\r\n &lt;apex:repeat value=&quot;{!allContact}&quot; var=&quot;c&quot; id=&quot;conRepeater&quot;&gt; \r\n &lt;tr&gt; \r\n &lt;td style=&quot;border: 1px solid black&quot; &gt; {!c.FirstName} &lt;\/td&gt;\r\n &lt;td style=&quot;border: 1px solid black&quot; &gt; {!c.LastName} &lt;\/td&gt; \r\n &lt;\/tr&gt; \r\n &lt;\/apex:repeat&gt; \r\n &lt;\/tbody&gt; \r\n &lt;\/table&gt;\r\n Thanks,\r\n Jitendra Zaa\r\n&lt;\/apex:component&gt;\r\n\r\n<\/pre>\n<p>In order to use any component in Visualforce template, its access must be &#8220;global&#8221;. We will be using above component in Visualforce email template. All heavy lifting is done in above Visualforce component and its controller class.<\/p>\n<p>To create Visualforce email template,<\/p>\n<ul>\n<li>Search &#8220;Email Templates&#8221; in Quick find box.<\/li>\n<li>Click &#8220;New Template&#8221;<\/li>\n<li>Select type as &#8220;Visualforce&#8221;<\/li>\n<li>In next screen, select folder where it should be saved.<\/li>\n<li>Provide Template name<\/li>\n<li>Select &#8220;Available for use&#8221; checkbox<\/li>\n<li>In recipient Type, select &#8220;User&#8221;. It will not make any different to select any option because anyway email address will come from contact in my case and from temporary object in your case<\/li>\n<li>In Related to dropdown, Select Object type from where merge fields will be used. In our case we are using Contact. However in many of cases as discussed above, it might be temporary object from where email will be initiated using workflow rules.<\/li>\n<\/ul>\n<figure id=\"attachment_4873\" aria-describedby=\"caption-attachment-4873\" style=\"width: 1012px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Creating-Visualforce-Email-Templates.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4873\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Creating-Visualforce-Email-Templates.png?resize=1012%2C662&#038;ssl=1\" alt=\"Creating Visualforce Email Templates\" width=\"1012\" height=\"662\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Creating-Visualforce-Email-Templates.png?w=1012&amp;ssl=1 1012w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Creating-Visualforce-Email-Templates.png?resize=300%2C196&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/10\/Creating-Visualforce-Email-Templates.png?resize=624%2C408&amp;ssl=1 624w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><figcaption id=\"caption-attachment-4873\" class=\"wp-caption-text\">Creating Visualforce Email Templates<\/figcaption><\/figure>\n<p>Click on &#8220;Save&#8221; button after all above steps. Now its time to edit template. Click on &#8220;Edit Template&#8221; and add below code<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;messaging:emailTemplate subject=&quot;Welcome to Account&quot; recipientType=&quot;Contact&quot; relatedToType=&quot;Contact&quot;&gt;\r\n    &lt;messaging:htmlEmailBody &gt;\r\n        &lt;c:ParentAccount contactId=&quot;{!relatedTo.Id}&quot; accId=&quot;{!relatedTo.Account.Id}&quot; \/&gt;\r\n    &lt;\/messaging:htmlEmailBody&gt;\r\n&lt;\/messaging:emailTemplate&gt;\r\n<\/pre>\n<p>And we are done with template. Only part remaining is to create a Workflow rule to send this email template to any email field present in Contact or temporary email tracking object.<\/p>\n<p><strong>How to send Visualforce page as an Email attachment<\/strong><\/p>\n<p>Sending attachment is also very easy. To send Visualforce as attachment, we need to use Component (move VF code to component) and embed it in &#8220;messaging:attachment&#8221; tag. You can refer <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.pages.meta\/pages\/pages_email_templates_attachments.htm\">this Salesforce documentation for sending attachment in Visualforce email template<\/a>.<\/p>\n<p>Lets say we want to send email and same email body should also be added as PDF file. We can change email template to look like<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;messaging:emailTemplate subject=&quot;Welcome to Account&quot; recipientType=&quot;Contact&quot; relatedToType=&quot;Contact&quot;&gt;\r\n    &lt;messaging:htmlEmailBody &gt;\r\n        &lt;c:ParentAccount contactId=&quot;{!relatedTo.Id}&quot; accId=&quot;{!relatedTo.Account.Id}&quot; \/&gt;\r\n    &lt;\/messaging:htmlEmailBody&gt;\r\n    \r\n    &lt;messaging:attachment filename=&quot;relatedContacts.pdf&quot; renderAs=&quot;PDF&quot;&gt;\r\n       &lt;c:ParentAccount contactId=&quot;{!relatedTo.Id}&quot; accId=&quot;{!relatedTo.Account.Id}&quot; \/&gt;\r\n    &lt;\/messaging:attachment&gt;\r\n&lt;\/messaging:emailTemplate&gt;\r\n<\/pre>\n<p>As we can see in above code, we are using &#8220;messaging:attachment&#8221; tag of Visualforce email template. and content of that tag is again same Visualforce component. <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.pages.meta\/pages\/pages_email_templates_intro.htm\">Read more about Visualforce Email template here<\/a><\/p>\n<p><strong>Advantage of this solution<\/strong><\/p>\n<ul>\n<li style=\"text-align: justify;\">Total email limit using workflow rule is 1000 x Total number of Salesforce\u00a0or\u00a0force.com user license.<\/li>\n<li style=\"text-align: justify;\">It is hybrid solution where we are using Visualforce components but at the same time we are using Workflow rules which can add more actions on same transaction or switch ON &#8211; Off of functionality anytime<\/li>\n<li style=\"text-align: justify;\">As you may create record (child record) each time so that workflow rule should execute, in that case you can have reporting capabilities as well. Currently there is no way to report on emails sent from Apex<\/li>\n<li style=\"text-align: justify;\">You can capture other fields as well for reporting purpose<\/li>\n<li style=\"text-align: justify;\">It also supports attachment which can have any dynamic content as discussed in this post<\/li>\n<\/ul>\n<p><strong>Trade-off<\/strong><\/p>\n<ul>\n<li style=\"text-align: justify;\">You may need to create extra object\/record which will use your organizational storage<\/li>\n<li style=\"text-align: justify;\">You should know in advance that at a time emails would be sent to how many users. If maximum 10 users needs to get email than temporary object needs to have 10 email fields, may be name of field could be Email1, Email2, Email3 and so on.<\/li>\n<li style=\"text-align: justify;\">If you are not interested in tracking emails sent then this temporary object is of no use and it will use Salesforce storage. So, we need to have scheduler in place to periodically cleanup temporary object.<\/li>\n<li style=\"text-align: justify;\">We cannot send existing attachment of record using this approach as explained in below section.<\/li>\n<\/ul>\n<p>It is possible that they you may not like this solution because of some trade-off, please do share your suggestions so that we can discuss it.<\/p>\n<p><strong>Sending existing attachment (<a href=\"https:\/\/success.salesforce.com\/ideaView?id=08730000000Ji9vAAC\">Vote this Idea<\/a>) &#8211; <span style=\"color: #ff0000;\">failed attempt<\/span><\/strong><\/p>\n<p style=\"text-align: justify;\">I tried many ways to send attachment stored in Salesforce as an email however all attempt failed. Salesforce saves attachment in Base64 encoded form as a blob even if we are able to send attachments, its not readable.\u00a0This is nearest I was able to go, still posting this code if someone try to figure it out how we can resolve this.<\/p>\n<p>Visualforce component to send attachment<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;apex:component access=&quot;global&quot; Controller=&quot;GetAttachment&quot;&gt;\r\n     &lt;apex:attribute name=&quot;contactId&quot; type=&quot;Id&quot; description=&quot;Id of the Contact&quot; assignTo=&quot;{!con}&quot;\/&gt;\r\n    \r\n    &lt;messaging:attachment filename=&quot;{!fileToAttach.Name}&quot; renderAs=&quot;{!fileToAttach.ContentType}&quot;&gt;\r\n        {!fileToAttach.Body}\r\n    &lt;\/messaging:attachment&gt;  \r\n&lt;\/apex:component&gt;\r\n<\/pre>\n<p>Yes, you are seeing right. I have used &#8220;messaging:attachment&#8221; tag in Visualforce component not in template and it works.<\/p>\n<p>Apex class :<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n * This is controller class of component\r\n * *\/\r\npublic class GetAttachment {\r\n\r\n    public Id con {get;set;}\r\n    \r\n    public Attachment fileToAttach {\r\n        get{\r\n            return &#x5B;SELECT  ParentId,  Name,  ContentType,  Body FROM Attachment Limit 1] ;\r\n        }\r\n        set;\r\n    }        \r\n}\r\n<\/pre>\n<p>Visualforce Email template code :<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;messaging:emailTemplate subject=&quot;Welcome to Account&quot; recipientType=&quot;Contact&quot; relatedToType=&quot;Contact&quot;&gt;\r\n    &lt;messaging:htmlEmailBody &gt;\r\n        &lt;c:ParentAccount contactId=&quot;{!relatedTo.Id}&quot; accId=&quot;{!relatedTo.Account.Id}&quot; \/&gt;\r\n    &lt;\/messaging:htmlEmailBody&gt;\r\n     \r\n    &lt;c:SendAttachment contactId=&quot;{!relatedTo.Id}&quot; &gt;&lt;\/c:SendAttachment&gt; \r\n&lt;\/messaging:emailTemplate&gt;\r\n<\/pre>\n<p>This Visualforce template is sending attachment but its not in readable format.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to design and architect Salesforce application so that 24 hour Apex email limit error could be resolved and have reporting capabilities on emails sent from Salesforce<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[9],"tags":[344,345,346],"class_list":["post-4870","post","type-post","status-publish","format-standard","hentry","category-salesforce","tag-architect","tag-design","tag-visualforce-email-template"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":31927,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-scale-center-complete-guide-performance\/","url_meta":{"origin":4870,"position":0},"title":"Salesforce Scale Center Complete Guide: Performance Monitoring &#038; Optimization | March 2026","author":"Jitendra","date":"March 12, 2026","format":false,"excerpt":"Master Salesforce Scale Center for performance monitoring and optimization. Learn setup, ApexGuru integration, concurrent Apex analysis, and best practices for enterprise scalability with 9 analysis report types.","rel":"","context":"In &quot;Apex&quot;","block_context":{"text":"Apex","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/apex\/"},"img":{"alt_text":"Salesforce Scale Center Infographic - Free self-serve performance monitoring platform with 9 report types, 30-day data retention, and 10-12 minute latency for Enterprise, Unlimited, and Professional Edition orgs","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":6836,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/framework-to-fix-governor-limit-of-100-jobs-in-flex-queue\/","url_meta":{"origin":4870,"position":1},"title":"Framework to fix &#8211; Governor Limit of 100 jobs in Flex Queue","author":"Jitendra","date":"April 25, 2019","format":false,"excerpt":"How to design an application in Salesforce to handle governor limit error of maximum 100 jobs in Flex Queue","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Apex Flex Queue Governor Limit","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":6216,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/performing-load-testing-in-salesforce-using-selenium-and-testng\/","url_meta":{"origin":4870,"position":2},"title":"Performing Load Testing in Salesforce using Selenium and TestNG","author":"Jitendra","date":"August 28, 2017","format":false,"excerpt":"Parallel execution of browsers in Selenium with the help of TestNG and determining maximum operating capacity of custom code in Salesforce","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"Selenium Salesforce load Testing","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4174,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-interview-questions-part-22\/","url_meta":{"origin":4870,"position":3},"title":"Salesforce Interview Questions &#8211; Part 22","author":"Jitendra","date":"December 1, 2015","format":false,"excerpt":"Consider it Facts or FAQ or interview questions but its small and important notes about Salesforce. More than 200 interview questions for Salesforce developer, Admin and consultants","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"220+ Salesforce Interview Questions","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/11\/220plus-Interview-Questions-1024x303.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/11\/220plus-Interview-Questions-1024x303.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/11\/220plus-Interview-Questions-1024x303.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3427,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-winter-14-new-features\/","url_meta":{"origin":4870,"position":4},"title":"Salesforce Winter 14 &#8211; New Features","author":"Jitendra","date":"August 27, 2013","format":false,"excerpt":"Major Area of Release: Developer Console Canvas HTML5 Support in Visualforce Deployment related features like improved deployment Monitoring New Database methods to get records deleted , updated in specific time Renaming \"Service Cloud Console\"\u009d is renamed to \"Salesforce Console for Service\"\u009d \"Configuration Only\"\u009d sandbox renamed to \"Developer Pro\"\u009d \"Agent Configuration\"\u009d\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Winter 14","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2013\/08\/Win-14-Logo.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":6244,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/a-tale-of-governor-limits-and-solutions-in-salesforce\/","url_meta":{"origin":4870,"position":5},"title":"A Tale of Governor Limits and Solutions in Salesforce","author":"Jitendra","date":"November 21, 2017","format":false,"excerpt":"Thrilling story of Salesforce Technical Architect on a quest to solve application problems and avoid governor limit errors","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"A Tale of Governor Limits and Solutions in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=4870"}],"version-history":[{"count":17,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4870\/revisions"}],"predecessor-version":[{"id":4892,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4870\/revisions\/4892"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=4870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=4870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=4870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}