{"id":87838,"date":"2017-06-30T06:11:50","date_gmt":"2017-06-30T06:11:50","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=87838"},"modified":"2026-02-06T11:08:03","modified_gmt":"2026-02-06T11:08:03","slug":"batch-apex","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/batch-apex\/","title":{"rendered":"Batch Apex Example In Salesforce"},"content":{"rendered":"\n<p>Batch Apex in Salesforce is a necessary survival skill for every Salesforce developer.&nbsp;<\/p>\n\n\n\n<p>It exists in Salesforce for one reason: to process massive data volumes safely inside Salesforce.&nbsp;<\/p>\n\n\n\n<p>Instead of trying to process everything in a single transaction, the platform breaks the workload into manageable, independent chunks.<\/p>\n\n\n\n<p>Let\u2019s dive into the topic and understand what Batch Apex actually does under the hood.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is Batch Apex in Salesforce?<\/strong><\/h2>\n\n\n\n<p>Batch Apex is an asynchronous Apex framework for processing large record sets in manageable transactions. Each batch runs in its own transaction with fresh limits.<\/p>\n\n\n\n<p>Technically speaking, a Batch Apex class implements: <strong>Database.Batchable&lt;SObject&gt; <\/strong>and contains three lifecycle methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>start() \u2192 defines the data scope<\/li>\n\n\n\n<li>execute() \u2192 processes each batch<\/li>\n\n\n\n<li>finish() \u2192 post-processing logic<\/li>\n<\/ul>\n\n\n\n<p>Remember, if your code accesses external objects and is used in batch Apex, use <strong>Iterable&lt;sObject><\/strong> instead of <strong>Database.QueryLocator<\/strong>.<\/p>\n\n\n\n<p>And the default batch size is 200 records.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why does <\/strong>this matter?<\/h2>\n\n\n\n<p>Standard synchronous Apex runs in a single execution context. The problem with them is that when limits are hit, the entire transaction fails.<\/p>\n\n\n\n<p>On the other hand, Batch Apex avoids this by distributing the workload across multiple transactions.<\/p>\n\n\n\n<p>This makes it ideal for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data cleanup jobs<\/li>\n\n\n\n<li>Migration tasks<\/li>\n\n\n\n<li>Recalculation processes<\/li>\n\n\n\n<li>Nightly automation<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Apex Batch Class<\/h2>\n\n\n\n<p>Create an apex class that implements\u00a0Database.Batchable interface and class must be global, as mentioned below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted brush:java\">global class batchExample implements Database.Batchable&lt;sObject&gt; {}<\/pre>\n\n\n\n<p>Now describe all batchable class method i.e.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted brush:java\"> global (Database.QueryLocator | Iterable&lt;sObject&gt;) start(Database.BatchableContext bc) {<br>        \/\/ collect the batches of records or objects to be passed to execute<br>    }<br><br>    global void execute(Database.BatchableContext bc, List&lt;P&gt; records){<br>        \/\/ process each batch of records<br>    }    <br><br>    global void finish(Database.BatchableContext bc){<br>        \/\/ execute any post-processing operations<br>    }    <br><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Updating Account Records with Batch Apex<\/h2>\n\n\n\n<p>Here\u2019s a practical example: updating Account records in bulk.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1.jpg\"><img decoding=\"async\" width=\"1200\" height=\"625\" data-id=\"87875\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1-1200x625.jpg\" alt=\"salesforce\" class=\"wp-image-87875\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1-1200x625.jpg 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1-250x130.jpg 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1-300x156.jpg 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1-768x400.jpg 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1.jpg 1301w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>Here is the Batch class to update the account name.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted brush:java\">global class batchExample implements Database.Batchable&lt;sObject&gt; {\n    \/**\n        * Webkul Software.\n        *\n        * @category  Webkul\n        * @author    Webkul\n        * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https:\/\/webkul.com)\n\t\t* @license   https:\/\/store.webkul.com\/license.html\n\t*\/\n    global Database.QueryLocator start(Database.BatchableContext BC) {\n        \/\/ collect the batches of records or objects to be passed to execute\n        \n        String query = 'SELECT Id,Name FROM Account';\n        return Database.getQueryLocator(query);\n    }\n    \n    global void execute(Database.BatchableContext BC, List&lt;Account&gt; accList) {\n       \n        \/\/ process each batch of records\n\n        \n        for(Account acc : accList)\n        {        \n           \t\/\/ Update the Account Name \n            acc.Name = acc.Name + 'Webkul';\n        }\n        try {\n        \t\/\/ Update the Account Record\n            update accList;\n        \n        } catch(Exception e) {\n            System.debug(e);\n        }\n        \n    }   \n    \n    global void finish(Database.BatchableContext BC) {\n    \t\/\/ execute any post-processing operations\n  }\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Run the BATCHABLE Class in Developer Console<\/h2>\n\n\n\n<p>To invoke a batch class, simply instantiate it and then call <strong><samp>Database.executeBatch<\/samp><\/strong> with the instance:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted brush:java\">batchExample be = new batchExample();\ndatabase.executeBatch(be);<\/pre>\n\n\n\n<p>You can also optionally pass a second scope parameter to specify the number of records that should be passed into the execute method for each batch.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted brush:java\">batchExample be = new batchExample();\ndatabase.executeBatch(be,100);<\/pre>\n\n\n\n<p>Account Name after executing batch class:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" width=\"1301\" height=\"678\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition.jpg\" alt=\"salesforce\" class=\"wp-image-87893\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition.jpg 1301w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-250x130.jpg 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-300x156.jpg 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-768x400.jpg 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/Accounts-Home-Salesforce-Developer-Edition-1200x625.jpg 1200w\" sizes=\"(max-width: 1301px) 100vw, 1301px\" loading=\"lazy\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Support<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Have questions about Batch Apex or advanced Salesforce architecture? Contact our team at <a href=\"mailto:support@webkul.com\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>support@webkul.com<\/strong><\/a><\/li>\n\n\n\n<li>We also help enterprises design resilient Salesforce architectures built for scale. <a href=\"https:\/\/webkul.com\/hire-salesforce-developers\/\">Hire Salesforce developers<\/a> from Webkul.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Batch Apex in Salesforce is a necessary survival skill for every Salesforce developer.&nbsp; It exists in Salesforce for one reason: to process massive data volumes safely inside Salesforce.&nbsp; Instead of trying to process everything in a single transaction, the platform breaks the workload into manageable, independent chunks. Let\u2019s dive into the topic and understand what <a href=\"https:\/\/webkul.com\/blog\/batch-apex\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":145,"featured_media":88910,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1889,1887],"tags":[4989,4990,1885],"class_list":["post-87838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apex","category-salesforce","tag-batch-apex","tag-batchable-context","tag-salesforce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Use Batch Apex in Salesforce (Complete Guide)<\/title>\n<meta name=\"description\" content=\"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/batch-apex\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Batch Apex in Salesforce (Complete Guide)\" \/>\n<meta property=\"og:description\" content=\"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/batch-apex\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-30T06:11:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-06T11:08:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Snehil Jaiswal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Snehil Jaiswal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/\"},\"author\":{\"name\":\"Snehil Jaiswal\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1\"},\"headline\":\"Batch Apex Example In Salesforce\",\"datePublished\":\"2017-06-30T06:11:50+00:00\",\"dateModified\":\"2026-02-06T11:08:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/\"},\"wordCount\":356,\"commentCount\":14,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png\",\"keywords\":[\"Batch Apex\",\"Batchable Context\",\"Salesforce\"],\"articleSection\":[\"Apex\",\"Salesforce\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/batch-apex\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/\",\"url\":\"https:\/\/webkul.com\/blog\/batch-apex\/\",\"name\":\"How to Use Batch Apex in Salesforce (Complete Guide)\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png\",\"datePublished\":\"2017-06-30T06:11:50+00:00\",\"dateModified\":\"2026-02-06T11:08:03+00:00\",\"description\":\"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/batch-apex\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/batch-apex\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Batch Apex Example In Salesforce\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1\",\"name\":\"Snehil Jaiswal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Snehil Jaiswal\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/snehil-jaiswal901\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Use Batch Apex in Salesforce (Complete Guide)","description":"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/batch-apex\/","og_locale":"en_US","og_type":"article","og_title":"How to Use Batch Apex in Salesforce (Complete Guide)","og_description":"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.","og_url":"https:\/\/webkul.com\/blog\/batch-apex\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2017-06-30T06:11:50+00:00","article_modified_time":"2026-02-06T11:08:03+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png","type":"image\/png"}],"author":"Snehil Jaiswal","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Snehil Jaiswal","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/batch-apex\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/"},"author":{"name":"Snehil Jaiswal","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1"},"headline":"Batch Apex Example In Salesforce","datePublished":"2017-06-30T06:11:50+00:00","dateModified":"2026-02-06T11:08:03+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/"},"wordCount":356,"commentCount":14,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png","keywords":["Batch Apex","Batchable Context","Salesforce"],"articleSection":["Apex","Salesforce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/batch-apex\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/batch-apex\/","url":"https:\/\/webkul.com\/blog\/batch-apex\/","name":"How to Use Batch Apex in Salesforce (Complete Guide)","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png","datePublished":"2017-06-30T06:11:50+00:00","dateModified":"2026-02-06T11:08:03+00:00","description":"A complete guide to Salesforce Batch Apex. Learn how Batch Apex in Salesforce handles millions of records with safe async execution.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/batch-apex\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/batch-apex\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/batch-apex\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/06\/download-1-4.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/batch-apex\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Batch Apex Example In Salesforce"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1","name":"Snehil Jaiswal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Snehil Jaiswal"},"url":"https:\/\/webkul.com\/blog\/author\/snehil-jaiswal901\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/87838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/145"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=87838"}],"version-history":[{"count":51,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/87838\/revisions"}],"predecessor-version":[{"id":525184,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/87838\/revisions\/525184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/88910"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=87838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=87838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=87838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}