Create, schedule, change, and delete Job Groups in the Job Group Manager.
A Job Group is an ordered set of steps that the Async Job Coordinator runs together. You build and schedule groups in the Job Group Manager.
Prerequisites
You have the FC Platform - Manage Async Jobs permission set.
A developer has deployed classes that implement FCORE_BASE.JobExecutor. See For Developers.
Create a Job Group
1
Open the Job Groups tab
Click the App Launcher and search for Job Groups.
Find Job Groups from the App Launcher
2
Start a new group
Click New. The Job Group Manager opens.
The New button on the Job Groups list
3
Fill in the details
In Details, enter a Name and a Description. Leave Version at 1. Leave Is Active off for now.
The Details section of a new Job Group
4
Add the steps
In Job Definitions, click Add New Definition for each step. For each row, enter a Definition Name, choose an Apex Class, and set the Batch Size. Turn on Await wherever a later step depends on that step’s output.
Three Job Definitions with Await on for steps 1 and 2
5
Order the steps
Drag a row by its handle, or click Move Up or Move Down. The Seq. column renumbers from 1 as you reorder.
6
Save
Click Save. The message “Saved Successfully” appears, and the new group reopens in the Job Group Manager.
7
Activate and schedule the group
Turn on Is Active. Choose a Frequency in Scheduling (see Scheduling), then click Save.
A Daily schedule at 2:00 AM
You can turn on Is Active before the first Save. The Job Group Manager saves the group inactive, adds its definitions, then activates it, all in one Save. Inserting an active Job Group any other way fails with “A Job Group cannot be created in an active state.” Leave Frequency as None if you only want to start runs from code.
The Job Group Manager Sections
Click Exit in the header, or Cancel in the footer, to discard your changes. Exiting returns you to the record, or to the Job Groups list for a new group.
Details
Field
Notes
Name
A unique name for the Job Group.
Version
Choose 1, which is preselected. It is the only available value.
Is Active
Enables the group. Inactive groups do not run.
Description
Required. Describe what the group does and why it exists.
Scheduling
The Scheduling panel appears only while Is Active is on. When it is off, the panel reads “Scheduling is available only for active Job Groups. Saving an inactive Job Group removes its existing schedule.”
Frequency
Runs
You also set
None
Never automatically. Start runs from code.
Nothing
Hourly
Every hour.
Minute Past the Hour (0 to 59, default 0)
Daily
Every day.
Start Time (default 02:00)
Weekly
Every Monday.
Start Time (default 02:00)
Monthly
On the 1st of every month.
Start Time (default 02:00)
Custom (CRON)
On your own schedule.
Cron Expression
Start Time uses your user time zone.
A Cron Expression is a Salesforce CRON expression in the form sec min hour day month ? year. It needs 6 or 7 parts and a ? in either the day-of-month or day-of-week position.
When you reopen a scheduled group, Frequency always shows Custom (CRON) with the stored expression, whichever preset you originally chose.
Job Definitions
Each row is one step. When a run starts, each row creates a Job Run Stage that tracks that step.
Column
What it does
Seq.
The row position, renumbered from 1.
Definition Name (required)
The name of this step within the group.
Apex Class (required)
The class that does the work. The dropdown lists concrete classes that implement FCORE_BASE.JobExecutor.
Batch Size (required)
Records per batch. The default is 200 and the maximum is 2000.
Parallel
Lets several batch jobs process this step’s substages at once when slots are free.
Await
Holds every later step until all stages for this step finish.
Actions
Remove deletes the row.
Save Rules
Save stays disabled until all of these are true:
Name, Version, and Description are filled in.
Every row has a name, an Apex class, and a batch size.
For an active group with Custom (CRON), the expression has 6 or 7 parts and a ? in the day-of-month or day-of-week position.
For Hourly, the minute is from 0 to 59.
If a pending run exists for the group, Save is blocked with a Pending Runs Found message. The banner “There are pending Job Runs for this Job Group” links to those runs with View Run.Other errors appear in a Save failed message that shows the first error, for example:
Message
Cause
Job Group must have at least one Job Definition to be activated.
You activated a group with no steps.
Batch Size must be at least 1. / Batch Size cannot exceed 2000.
A Batch Size is out of range.
A Job Definition with this Sequence number already exists in this Job Group.
Two steps share a Sequence (for example, by editing a Job Definition record directly or through a data load). The manager renumbers rows itself.
Changes to a Job Group and its Job Definitions are blocked while the Job Group is active.
You edited a group whose saved state is active.
If any part of the save fails, none of your changes are saved.
Change an Active Group
An active group is locked. Its Name, Version, and Description, and every step row, are disabled. The lock follows the group’s saved state.
An active Job Group in the Job Group Manager
1
Deactivate and save
Open the group, turn Is Active off, then click Save. Deactivating removes the schedule.
2
Make your changes
Edit the details and steps, then click Save.
3
Reactivate
Turn Is Active on, set the Frequency again, then click Save.
Delete a Job Group
An active group cannot be deleted. Deactivate it and save first, then open the Job Group record and click Delete.
Edit (Admin)
On a Job Group record, the Edit (Admin) action opens the standard Salesforce edit form instead of the Job Group Manager. It sits in the record page header next to Edit and Delete. All validation rules still apply.
Edit (Admin) on the Job Group record page
Limitations and Common Pitfalls
You cannot edit an active group. Deactivate and save first, then edit. Turning Is Active off on screen is not enough until you save.
Deactivating removes the schedule. Set the Frequency again when you reactivate.
Pending runs block saving. There is no Cancel action. To clear a stuck run, delete it; see Monitoring Job Runs.
The preset is not remembered. A saved schedule reopens as Custom (CRON).
Weekly and Monthly are fixed days. Weekly always runs on Monday and Monthly on the 1st. Use Custom (CRON) for other days.
Sequence does not mean wait. If step 2 reads what step 1 writes, turn on Await for step 1. Otherwise step 2 can start before step 1 finishes.
A schedule silently skips inactive or deleted groups. It does nothing and shows no error in the UI.
Retry context holds 32,768 characters. If too many failed record Ids do not fit in a retry stage’s context, fusionCore logs a Job Error and leaves the original errors on the run.
Inactive groups do not run. Starting one from code fails with “Cannot start job. Job Group is inactive.”
An empty Apex Class dropdown means no class is available. Ask a developer to deploy a global class that implements FCORE_BASE.JobExecutor.
Change schedules here, not in Setup. Job Group schedules also appear in Setup under Scheduled Jobs, but the Job Group Manager owns them.
Related Features
Async Job Coordinator Overview
How runs, stages, and retries work.
Monitoring Job Runs
Read the results of a run.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"fusionCore Documentation","colors":{"primary":"#1C80B7","light":"#3FA5DC","dark":"#233862"},"logo":{"light":"https://mintcdn.com/fusionspan/YOJThutruL_JRsTc/logo/fusioncore-light.png?fit=max\u0026auto=format\u0026n=YOJThutruL_JRsTc\u0026q=85\u0026s=214aa6cf854bb355a6f04da3ddfb0d60","dark":"https://mintcdn.com/fusionspan/YOJThutruL_JRsTc/logo/fusioncore-dark.png?fit=max\u0026auto=format\u0026n=YOJThutruL_JRsTc\u0026q=85\u0026s=5fe44ccf31da1e75598fe04552459508"},"favicon":"https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/favicon.png?fit=max\u0026auto=format\u0026n=EW_gg4_8FJ-921wF\u0026q=85\u0026s=bdfc3e35ed633844441de878cb99f125","navbar":{"links":[{"href":"mailto:fcsupport@fusionspan.com","label":"Support"}]},"footer":{"socials":{}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fusionspan","hasAudioNarration":false,"actualSubdomain":"fusionspan","customDomains":["docs.fusioncore.us"],"gitSource":{"type":"github","owner":"fusionspan-llc","repo":"fusioncore-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae22a0e12cf5a20bf490096","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"End User Guides","count":187},{"language":"default","tag":"Accounting","count":44},{"language":"default","tag":"Orders and Opportunities","count":39},{"language":"default","tag":"Portal","count":31},{"language":"default","tag":"Product","count":28},{"language":"default","tag":"Orders","count":14},{"language":"default","tag":"Stripe","count":14},{"language":"default","tag":"Subscriptions","count":14},{"language":"default","tag":"Accelerators","count":13},{"language":"default","tag":"API Reference","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"fcsupport@fusionspan.com"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"end-user-guides/platform-setup/async-job-coordinator/managing-job-groups","slug":"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups","pageMetadata":{"title":"Managing Job Groups","description":"Create, schedule, change, and delete Job Groups in the Job Group Manager.","href":"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create, schedule, change, and delete Job Groups in the Job Group Manager.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A Job Group is an ordered set of steps that the `,_jsx(_components.a,{href:`/end-user-guides/platform-setup/async-job-coordinator/index`,children:`Async Job Coordinator`}),` runs together. You build and schedule groups in the `,_jsx(_components.strong,{children:`Job Group Manager`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You have the `,_jsx(_components.strong,{children:`FC Platform - Manage Async Jobs`}),` permission set.`]}),`\n`,_jsxs(_components.li,{children:[`A developer has deployed classes that implement `,_jsx(_components.code,{children:`FCORE_BASE.JobExecutor`}),`. See `,_jsx(_components.a,{href:`/end-user-guides/platform-setup/async-job-coordinator/index#for-developers`,children:`For Developers`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-job-group`,children:`Create a Job Group`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the Job Groups tab`,children:[_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`App Launcher`}),` and search for `,_jsx(_components.strong,{children:`Job Groups`}),`.`]}),_jsx(Frame,{caption:`Find Job Groups from the App Launcher`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=3cb0288abcde2c50f8dc89f0bd4fc1bb`,alt:`The App Launcher search box with Job Groups typed in and Job Groups listed under Items`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`660`,height:`660`,\"data-path\":`images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=eaa4e15e12114b4749d088f09c6acef8 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=af81075bcaa98094384e53b6ec6565f5 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=fe795360dfba8876f67f9636f335291d 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=172c5efba5a3c966de2ee1e7e58612c7 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=3381e1af858b208e542f682ac849a651 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/app-launcher-job-groups.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=32612023a3732c4ba48ca1b064cb3e68 2500w`})})]}),_jsxs(Step,{title:`Start a new group`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New`}),`. The `,_jsx(_components.strong,{children:`Job Group Manager`}),` opens.`]}),_jsx(Frame,{caption:`The New button on the Job Groups list`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=f498a3de85ff6fbd9cb83b07c913dda3`,alt:`The Job Groups All list view with the New button and one Job Group, Prospect Account Enrichment`,\"data-og-width\":`2880`,width:`2880`,\"data-og-height\":`600`,height:`600`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-groups-list-new.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=eb78907a0e31b8125b327ab581078ab1 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=44907ab199dee92bdec9957740a43bd1 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=fe58ef40c581c79c33230bd1ebda5072 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=c2ec8f84bc78945898f8b28a561b75cd 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=d1919f1f3c784af5915cf642c9a5000b 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-groups-list-new.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=fcf63e3dd68fd6ff1e0ad799ef6285f9 2500w`})})]}),_jsxs(Step,{title:`Fill in the details`,children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Details`}),`, enter a `,_jsx(_components.strong,{children:`Name`}),` and a `,_jsx(_components.strong,{children:`Description`}),`. Leave `,_jsx(_components.strong,{children:`Version`}),` at `,_jsx(_components.code,{children:`1`}),`. Leave `,_jsx(_components.strong,{children:`Is Active`}),` off for now.`]}),_jsx(Frame,{caption:`The Details section of a new Job Group`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=6334fcd7db233c226158a53caba794f8`,alt:`The Job Group Manager Details section with Name, Version 1, Is Active off, and a Description filled in`,\"data-og-width\":`2816`,width:`2816`,\"data-og-height\":`578`,height:`578`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-group-manager-details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=1b9d8896180b8695c2ec34c941b09772 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=5543b5e2dbba18cbcb8373808d5ce404 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=2119e9265ef79a52b5a27e50ce2790f1 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=59090fd79d68f104337fe3b18477cf1e 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=2a70032827b385ffe5b07afe31b40d9c 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=d9f5072ce9e3c2fc5096d9107628e9bc 2500w`})})]}),_jsxs(Step,{title:`Add the steps`,children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Job Definitions`}),`, click `,_jsx(_components.strong,{children:`Add New Definition`}),` for each step. For each row, enter a `,_jsx(_components.strong,{children:`Definition Name`}),`, choose an `,_jsx(_components.strong,{children:`Apex Class`}),`, and set the `,_jsx(_components.strong,{children:`Batch Size`}),`. Turn on `,_jsx(_components.strong,{children:`Await`}),` wherever a later step depends on that step’s output.`]}),_jsx(Frame,{caption:`Three Job Definitions with Await on for steps 1 and 2`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=72d202ffb6e88b3e28e5d202ee15bcad`,alt:`The Job Definitions section with three rows, each with a Definition Name, Apex Class and Batch Size 200, Await checked on rows 1 and 2, and the Add New Definition button`,\"data-og-width\":`2816`,width:`2816`,\"data-og-height\":`782`,height:`782`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=d8553da2cb2df3d14c6dc3cc793206c5 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=4335e16204162cfe96d58e159630949e 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=9664580ce9da9affbcf9886a2120e096 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=815b92662afe87840f746bd8df4f9462 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=937409ea72227d615928fb5b71b8f497 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-definitions.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=0627bed6d35771ceda2add5ed8a52df2 2500w`})})]}),_jsx(Step,{title:`Order the steps`,children:_jsxs(_components.p,{children:[`Drag a row by its handle, or click `,_jsx(_components.strong,{children:`Move Up`}),` or `,_jsx(_components.strong,{children:`Move Down`}),`. The `,_jsx(_components.strong,{children:`Seq.`}),` column renumbers from 1 as you reorder.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`. The message “Saved Successfully” appears, and the new group reopens in the Job Group Manager.`]})}),_jsxs(Step,{title:`Activate and schedule the group`,children:[_jsxs(_components.p,{children:[`Turn on `,_jsx(_components.strong,{children:`Is Active`}),`. Choose a `,_jsx(_components.strong,{children:`Frequency`}),` in `,_jsx(_components.strong,{children:`Scheduling`}),` (see `,_jsx(_components.a,{href:`#scheduling`,children:`Scheduling`}),`), then click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`A Daily schedule at 2:00 AM`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=21456140bd34854ed99b2e7e2f371f22`,alt:`The Scheduling section with Frequency set to Daily and Start Time 2:00 AM`,\"data-og-width\":`960`,width:`960`,\"data-og-height\":`430`,height:`430`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=0ac797c05ec71c31efe6f4b177c3d2da 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=39acab4c78a612c8e292d652baa7334f 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=183cb93e95086d7fbeac140e5e484386 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=b312b590ea130a7054fad5edaad4f05f 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=2f218e5541e154e124f534e2b981f827 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-scheduling.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=a0e78ea54619e085cb00fd8611310ecc 2500w`})})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You can turn on `,_jsx(_components.strong,{children:`Is Active`}),` before the first `,_jsx(_components.strong,{children:`Save`}),`. The Job Group Manager saves the group inactive, adds its definitions, then activates it, all in one `,_jsx(_components.strong,{children:`Save`}),`. Inserting an active Job Group any other way fails with “A Job Group cannot be created in an active state.” Leave `,_jsx(_components.strong,{children:`Frequency`}),` as `,_jsx(_components.strong,{children:`None`}),` if you only want to start runs from code.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`the-job-group-manager-sections`,children:`The Job Group Manager Sections`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Exit`}),` in the header, or `,_jsx(_components.strong,{children:`Cancel`}),` in the footer, to discard your changes. Exiting returns you to the record, or to the Job Groups list for a new group.`]}),`\n`,_jsx(Heading,{level:`3`,id:`details`,children:`Details`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Field`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Notes`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Name`})}),_jsx(_components.td,{children:`A unique name for the Job Group.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Version`})}),_jsxs(_components.td,{children:[`Choose `,_jsx(_components.code,{children:`1`}),`, which is preselected. It is the only available value.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Is Active`})}),_jsx(_components.td,{children:`Enables the group. Inactive groups do not run.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Description`})}),_jsx(_components.td,{children:`Required. Describe what the group does and why it exists.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`scheduling`,children:`Scheduling`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Scheduling`}),` panel appears only while `,_jsx(_components.strong,{children:`Is Active`}),` is on. When it is off, the panel reads “Scheduling is available only for active Job Groups. Saving an inactive Job Group removes its existing schedule.”`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Frequency`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Runs`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`You also set`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`None`})}),_jsx(_components.td,{children:`Never automatically. Start runs from code.`}),_jsx(_components.td,{children:`Nothing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Hourly`})}),_jsx(_components.td,{children:`Every hour.`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Minute Past the Hour`}),` (0 to 59, default 0)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Daily`})}),_jsx(_components.td,{children:`Every day.`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Start Time`}),` (default 02:00)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Weekly`})}),_jsx(_components.td,{children:`Every Monday.`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Start Time`}),` (default 02:00)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Monthly`})}),_jsx(_components.td,{children:`On the 1st of every month.`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Start Time`}),` (default 02:00)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Custom (CRON)`})}),_jsx(_components.td,{children:`On your own schedule.`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cron Expression`})})]})]})]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Start Time`}),` uses your user time zone.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`Cron Expression`}),` is a Salesforce CRON expression in the form `,_jsx(_components.code,{children:`sec min hour day month ? year`}),`. It needs 6 or 7 parts and a `,_jsx(_components.code,{children:`?`}),` in either the day-of-month or day-of-week position.`]}),`\n`,_jsxs(_components.li,{children:[`When you reopen a scheduled group, `,_jsx(_components.strong,{children:`Frequency`}),` always shows `,_jsx(_components.strong,{children:`Custom (CRON)`}),` with the stored expression, whichever preset you originally chose.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`job-definitions`,children:`Job Definitions`}),`\n`,_jsx(_components.p,{children:`Each row is one step. When a run starts, each row creates a Job Run Stage that tracks that step.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Column`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`What it does`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Seq.`})}),_jsx(_components.td,{children:`The row position, renumbered from 1.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Definition Name`}),` (required)`]}),_jsx(_components.td,{children:`The name of this step within the group.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Apex Class`}),` (required)`]}),_jsxs(_components.td,{children:[`The class that does the work. The dropdown lists concrete classes that implement `,_jsx(_components.code,{children:`FCORE_BASE.JobExecutor`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Batch Size`}),` (required)`]}),_jsx(_components.td,{children:`Records per batch. The default is 200 and the maximum is 2000.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Parallel`})}),_jsx(_components.td,{children:`Lets several batch jobs process this step’s substages at once when slots are free.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Await`})}),_jsx(_components.td,{children:`Holds every later step until all stages for this step finish.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Actions`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Remove`}),` deletes the row.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`save-rules`,children:`Save Rules`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Save`}),` stays disabled until all of these are true:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),`, `,_jsx(_components.strong,{children:`Version`}),`, and `,_jsx(_components.strong,{children:`Description`}),` are filled in.`]}),`\n`,_jsx(_components.li,{children:`Every row has a name, an Apex class, and a batch size.`}),`\n`,_jsxs(_components.li,{children:[`For an active group with `,_jsx(_components.strong,{children:`Custom (CRON)`}),`, the expression has 6 or 7 parts and a `,_jsx(_components.code,{children:`?`}),` in the day-of-month or day-of-week position.`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`Hourly`}),`, the minute is from 0 to 59.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`If a pending run exists for the group, `,_jsx(_components.strong,{children:`Save`}),` is blocked with a `,_jsx(_components.strong,{children:`Pending Runs Found`}),` message. The banner “There are pending Job Runs for this Job Group” links to those runs with `,_jsx(_components.strong,{children:`View Run`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Other errors appear in a `,_jsx(_components.strong,{children:`Save failed`}),` message that shows the first error, for example:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Message`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Cause`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Job Group must have at least one Job Definition to be activated.`}),_jsx(_components.td,{children:`You activated a group with no steps.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Batch Size must be at least 1. / Batch Size cannot exceed 2000.`}),_jsx(_components.td,{children:`A Batch Size is out of range.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A Job Definition with this Sequence number already exists in this Job Group.`}),_jsx(_components.td,{children:`Two steps share a Sequence (for example, by editing a Job Definition record directly or through a data load). The manager renumbers rows itself.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Changes to a Job Group and its Job Definitions are blocked while the Job Group is active.`}),_jsx(_components.td,{children:`You edited a group whose saved state is active.`})]})]})]}),`\n`,_jsx(_components.p,{children:`If any part of the save fails, none of your changes are saved.`}),`\n`,_jsx(Heading,{level:`2`,id:`change-an-active-group`,children:`Change an Active Group`}),`\n`,_jsxs(_components.p,{children:[`An active group is locked. Its `,_jsx(_components.strong,{children:`Name`}),`, `,_jsx(_components.strong,{children:`Version`}),`, and `,_jsx(_components.strong,{children:`Description`}),`, and every step row, are disabled. The lock follows the group’s `,_jsx(_components.em,{children:`saved`}),` state.`]}),`\n`,_jsx(Frame,{caption:`An active Job Group in the Job Group Manager`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=68f75f7ad988baf3f5ecd1601b277387`,alt:`The Job Group Manager for an active group: Is Active on, and the Name, Version, Description and every Job Definition row greyed out`,\"data-og-width\":`2816`,width:`2816`,\"data-og-height\":`1328`,height:`1328`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=12de760160224e9196029ae5e228bb94 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=c06cfd0b643d6c7ee11b26f0f1fb19ef 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=c842f589d29f42bb8e4e2795cbfd208c 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=6a62395853ab875d4fe03ae092ca3080 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=f8c387223f5e819ee8ccf315fe9e9410 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-manager-active-locked.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=f6e642900b3064ca9b7e555eb42b1bd4 2500w`})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Deactivate and save`,children:_jsxs(_components.p,{children:[`Open the group, turn `,_jsx(_components.strong,{children:`Is Active`}),` off, then click `,_jsx(_components.strong,{children:`Save`}),`. Deactivating removes the schedule.`]})}),_jsx(Step,{title:`Make your changes`,children:_jsxs(_components.p,{children:[`Edit the details and steps, then click `,_jsx(_components.strong,{children:`Save`}),`.`]})}),_jsx(Step,{title:`Reactivate`,children:_jsxs(_components.p,{children:[`Turn `,_jsx(_components.strong,{children:`Is Active`}),` on, set the `,_jsx(_components.strong,{children:`Frequency`}),` again, then click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`delete-a-job-group`,children:`Delete a Job Group`}),`\n`,_jsxs(_components.p,{children:[`An active group cannot be deleted. Deactivate it and save first, then open the Job Group record and click `,_jsx(_components.strong,{children:`Delete`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`edit-admin`,children:`Edit (Admin)`}),`\n`,_jsxs(_components.p,{children:[`On a Job Group record, the `,_jsx(_components.strong,{children:`Edit (Admin)`}),` action opens the standard Salesforce edit form instead of the Job Group Manager. It sits in the record page header next to `,_jsx(_components.strong,{children:`Edit`}),` and `,_jsx(_components.strong,{children:`Delete`}),`. All validation rules still apply.`]}),`\n`,_jsx(Frame,{caption:`Edit (Admin) on the Job Group record page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=5c6574f20b757016ef0075dec0b6ffa7`,alt:`The Job Group record page header with the Edit, Edit (Admin) and Delete buttons`,\"data-og-width\":`2816`,width:`2816`,\"data-og-height\":`184`,height:`184`,\"data-path\":`images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=280\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=cac38edab1d7c1bfd25c566971527466 280w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=560\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=7daa9873473fd23569e70353c970b379 560w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=840\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=0119d7105c512d9c945d50bff4a4a3f1 840w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=1100\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=28ce1d1eb89d2fea63fd19c226216184 1100w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=1650\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=8b38513c54daaf2674d6cb0eef8b54d5 1650w, https://mintcdn.com/fusionspan/XDzICb2WNqgAWbUY/images/end-user-guides/async-job-coordinator/job-group-record-edit-admin.png?w=2500\u0026fit=max\u0026auto=format\u0026n=XDzICb2WNqgAWbUY\u0026q=85\u0026s=0a7620a842089cdebdc3dbf6f049c23a 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`limitations-and-common-pitfalls`,children:`Limitations and Common Pitfalls`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You cannot edit an active group.`}),` Deactivate and save first, then edit. Turning `,_jsx(_components.strong,{children:`Is Active`}),` off on screen is not enough until you save.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Deactivating removes the schedule.`}),` Set the `,_jsx(_components.strong,{children:`Frequency`}),` again when you reactivate.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pending runs block saving.`}),` There is no Cancel action. To clear a stuck run, delete it; see `,_jsx(_components.a,{href:`/end-user-guides/platform-setup/async-job-coordinator/monitoring-job-runs#limitations-and-common-pitfalls`,children:`Monitoring Job Runs`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The preset is not remembered.`}),` A saved schedule reopens as `,_jsx(_components.strong,{children:`Custom (CRON)`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Weekly and Monthly are fixed days.`}),` Weekly always runs on Monday and Monthly on the 1st. Use `,_jsx(_components.strong,{children:`Custom (CRON)`}),` for other days.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sequence does not mean wait.`}),` If step 2 reads what step 1 writes, turn on `,_jsx(_components.strong,{children:`Await`}),` for step 1. Otherwise step 2 can start before step 1 finishes.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A schedule silently skips inactive or deleted groups.`}),` It does nothing and shows no error in the UI.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Retry context holds 32,768 characters.`}),` If too many failed record Ids do not fit in a retry stage’s context, fusionCore logs a Job Error and leaves the original errors on the run.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Inactive groups do not run.`}),` Starting one from code fails with “Cannot start job. Job Group is inactive.”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`An empty Apex Class dropdown means no class is available.`}),` Ask a developer to deploy a global class that implements `,_jsx(_components.code,{children:`FCORE_BASE.JobExecutor`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Change schedules here, not in Setup.`}),` Job Group schedules also appear in Setup under `,_jsx(_components.strong,{children:`Scheduled Jobs`}),`, but the Job Group Manager owns them.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-features`,children:`Related Features`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Async Job Coordinator Overview`,icon:`gears`,href:`/end-user-guides/platform-setup/async-job-coordinator/index`,children:_jsx(_components.p,{children:`How runs, stages, and retries work.`})}),_jsx(Card,{title:`Monitoring Job Runs`,icon:`chart-line`,href:`/end-user-guides/platform-setup/async-job-coordinator/monitoring-job-runs`,children:_jsx(_components.p,{children:`Read the results of a run.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Managing Job Groups","description":"Create, schedule, change, and delete Job Groups in the Job Group Manager.","href":"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Create a Job Group","slug":"create-a-job-group","depth":2,"children":[]},{"title":"The Job Group Manager Sections","slug":"the-job-group-manager-sections","depth":2,"children":[{"title":"Details","slug":"details","depth":3,"children":[]},{"title":"Scheduling","slug":"scheduling","depth":3,"children":[]},{"title":"Job Definitions","slug":"job-definitions","depth":3,"children":[]}]},{"title":"Save Rules","slug":"save-rules","depth":2,"children":[]},{"title":"Change an Active Group","slug":"change-an-active-group","depth":2,"children":[]},{"title":"Delete a Job Group","slug":"delete-a-job-group","depth":2,"children":[]},{"title":"Edit (Admin)","slug":"edit-admin","depth":2,"children":[]},{"title":"Limitations and Common Pitfalls","slug":"limitations-and-common-pitfalls","depth":2,"children":[]},{"title":"Related Features","slug":"related-features","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"fusionspan","siteName":"fusionCore Documentation","title":"Managing Job Groups - fusionCore Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T19:57:49.325Z","originalFileLocation":"end-user-guides/platform-setup/async-job-coordinator/managing-job-groups.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create, schedule, change, and delete Job Groups in the Job Group Manager.\">\u003cmeta data-mint-head name=\"application-name\" content=\"fusionCore Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Managing Job Groups - fusionCore Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create, schedule, change, and delete Job Groups in the Job Group Manager.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"fusionCore Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fusionspan.mintlify.site/_mintlify/api/og/v2?division=Async+Job+Coordinator\u0026amp;title=Managing+Job+Groups\u0026amp;description=Create%2C+schedule%2C+change%2C+and+delete+Job+Groups+in+the+Job+Group+Manager.\u0026amp;theme=d675e95a068684c48cb57395\u0026amp;signature=a8f2a2452914386fc96dd45990d68ab56d4c578cb0ba238227215c10fbacb506\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Managing Job Groups - fusionCore Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create, schedule, change, and delete Job Groups in the Job Group Manager.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fusionspan.mintlify.site/_mintlify/api/og/v2?division=Async+Job+Coordinator\u0026amp;title=Managing+Job+Groups\u0026amp;description=Create%2C+schedule%2C+change%2C+and+delete+Job+Groups+in+the+Job+Group+Manager.\u0026amp;theme=d675e95a068684c48cb57395\u0026amp;signature=a8f2a2452914386fc96dd45990d68ab56d4c578cb0ba238227215c10fbacb506\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fusionspan/KBKUhZpgwYvCX7Wu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"fusionCore Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1C80B7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fusioncore.us/#organization\",\"name\":\"fusionCore Documentation\",\"url\":\"https://docs.fusioncore.us\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fusionspan/YOJThutruL_JRsTc/logo/fusioncore-light.png?fit=max\u0026auto=format\u0026n=YOJThutruL_JRsTc\u0026q=85\u0026s=214aa6cf854bb355a6f04da3ddfb0d60\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fusioncore.us#website\",\"name\":\"fusionCore Documentation\",\"url\":\"https://docs.fusioncore.us\",\"publisher\":{\"@id\":\"https://docs.fusioncore.us/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups#webpage\",\"url\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups\",\"name\":\"Managing Job Groups\",\"description\":\"Create, schedule, change, and delete Job Groups in the Job Group Manager.\",\"dateModified\":\"2026-10-21T19:57:49.325Z\",\"isPartOf\":{\"@id\":\"https://docs.fusioncore.us#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started with fusionCore\",\"item\":\"https://docs.fusioncore.us/end-user-guides/platform-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Async Job Coordinator\",\"item\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Managing Job Groups\",\"item\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups#article\",\"headline\":\"Managing Job Groups\",\"name\":\"Managing Job Groups\",\"description\":\"Create, schedule, change, and delete Job Groups in the Job Group Manager.\",\"url\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fusioncore.us/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups#webpage\"},\"dateModified\":\"2026-10-21T19:57:49.325Z\",\"publisher\":{\"@id\":\"https://docs.fusioncore.us/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fusioncore.us#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"fusionCore Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"fusionCore Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups.md","siteName":"fusionCore Documentation","nav":{"global":null,"tabs":[{"tab":"End User Guides","groups":[{"group":"Getting Started with fusionCore","pages":[{"title":"Install and Set Up fusionCore","href":"/end-user-guides/platform-setup"},{"title":"Scheduled Jobs in fusionCore","href":"/end-user-guides/platform-setup/scheduled-jobs-in-fusioncore"},{"group":"Async Job Coordinator","pages":[{"title":"Async Job Coordinator Overview","description":"Run long, multi-step Apex automation as an ordered group of batch jobs with per-record error tracking and one automatic retry.","href":"/end-user-guides/platform-setup/async-job-coordinator/index"},{"title":"Managing Job Groups","href":"/end-user-guides/platform-setup/async-job-coordinator/managing-job-groups"},{"title":"Monitoring Job Runs","description":"Find Job Runs, read their statuses, stages, and errors, and see how automatic retries appear.","href":"/end-user-guides/platform-setup/async-job-coordinator/monitoring-job-runs"},{"title":"Async Job Coordinator Example","href":"/end-user-guides/platform-setup/async-job-coordinator/example"}]}]},{"group":"Accounting","pages":[{"title":"Accounting Overview","href":"/end-user-guides/accounting/index"},{"group":"Business Units","pages":[{"title":"Business Units Overview","href":"/end-user-guides/accounting/business-units/index"},{"title":"Creating a Business Unit","href":"/end-user-guides/accounting/business-units/creating-a-business-unit"},{"title":"Uploading an Image to the Business Unit","href":"/end-user-guides/accounting/business-units/uploading-an-image-to-the-business-unit"},{"title":"Configuring Automatic Write-Offs and Adjustments","href":"/end-user-guides/accounting/business-units/configuring-automatic-write-offs-and-adjustments"}]},{"title":"Payment Providers","href":"/end-user-guides/accounting/payment-providers"},{"title":"General Ledger (GL) Accounts","href":"/end-user-guides/accounting/general-ledger-gl-accounts"},{"group":"Payment Types","pages":[{"title":"Payment Types Overview","href":"/end-user-guides/accounting/payment-types/index"},{"title":"Setting Up Stripe Payment Types","href":"/end-user-guides/accounting/payment-types/setting-up-stripe-payment-types/index"},{"title":"Setting Up Offline Payment Types","href":"/end-user-guides/accounting/payment-types/setting-up-offline-payment-types"},{"title":"Setting Up Custom Payment Types","href":"/end-user-guides/accounting/payment-types/setting-up-custom-payment-types"}]},{"group":"Multi-Currency","pages":[{"title":"Multi-Currency Overview","href":"/end-user-guides/accounting/multi-currency/index"},{"title":"Enabling Multi-currency","href":"/end-user-guides/accounting/multi-currency/enabling-multi-currency"},{"title":"Defining Business Unit Currency","href":"/end-user-guides/accounting/multi-currency/defining-business-unit-currency"},{"title":"Supported Currencies on Payment Type","href":"/end-user-guides/accounting/multi-currency/supported-currencies-on-payment-type"},{"title":"Creating Multi-Currency Orders from Account/Contact","href":"/end-user-guides/accounting/multi-currency/creating-multi-currency-orders-from-account-contact"},{"title":"Updating Standard Price Validation Rule","href":"/end-user-guides/accounting/multi-currency/updating-standard-price-validation-rule"}]},{"group":"Financial Periods","pages":[{"title":"Financial Periods Overview","href":"/end-user-guides/accounting/financial-periods/index"},{"title":"Creating a Financial Period","href":"/end-user-guides/accounting/financial-periods/creating-a-financial-period"},{"title":"Fetching Financial Event Lines","href":"/end-user-guides/accounting/financial-periods/fetching-financial-event-lines"},{"title":"Locking Financial Periods","href":"/end-user-guides/accounting/financial-periods/locking-financial-periods"},{"title":"Financial Period Reports","href":"/end-user-guides/accounting/financial-periods/financial-period-reports"}]},{"group":"Financial Documents","pages":[{"title":"Financial Documents Overview","href":"/end-user-guides/accounting/financial-documents/index"},{"title":"Where to Find Your Financial Documents","href":"/end-user-guides/accounting/financial-documents/where-to-find-your-financial-documents"},{"title":"Configuring Financial Documents","href":"/end-user-guides/accounting/financial-documents/configuring-financial-documents"}]},{"group":"Wallet Items","pages":[{"title":"Wallet Items Overview","href":"/end-user-guides/accounts/wallet-items/index"},{"title":"Creating Wallet Items as a Staff User","href":"/end-user-guides/accounts/wallet-items/creating-wallet-items-as-a-staff-user"},{"title":"Editing Wallet Items","href":"/end-user-guides/accounts/wallet-items/editing-wallet-items"},{"title":"Paying with Wallet Items","href":"/end-user-guides/accounts/wallet-items/paying-with-wallet-items"}]},{"title":"Accounting Troubleshooting","href":"/end-user-guides/accounting/troubleshooting"},{"group":"Stripe","pages":[{"title":"Stripe Overview","href":"/end-user-guides/stripe/index"},{"group":"Setting up a Stripe Account","pages":[{"title":"Setting Up a Stripe Account Overview","href":"/end-user-guides/stripe/setting-up-a-stripe-account/index"},{"title":"Data Points for Stripe Account Set Up","href":"/end-user-guides/stripe/setting-up-a-stripe-account/data-points-for-stripe-account-set-up"},{"title":"Stripe Connected Account Link","href":"/end-user-guides/stripe/setting-up-a-stripe-account/stripe-connected-account-link/index"},{"title":"Enabling Payment Methods in Stripe","href":"/end-user-guides/stripe/setting-up-a-stripe-account/enabling-payment-methods-in-stripe"}]},{"title":"Connected Account Webhook Setup","href":"/end-user-guides/stripe/connected-account-webhook-set-up"},{"group":"Stripe Direct Accounts","pages":[{"title":"Stripe Direct Accounts Overview","href":"/end-user-guides/stripe/stripe-direct-accounts/index"},{"title":"Set Up Webhooks for Your Stripe Direct Account","href":"/end-user-guides/stripe/stripe-direct-accounts/setting-up-webhooks-for-your-salesforce-org-stripe-direct-account"},{"title":"Stripe Direct Accounts Email Template","href":"/end-user-guides/stripe/stripe-direct-accounts/stripe-direct-accounts-email-template"}]},{"title":"Stripe Testing: Production and Sandbox","href":"/end-user-guides/stripe/stripe-testing-production-sandbox"},{"title":"Stripe Troubleshooting","href":"/end-user-guides/stripe/troubleshooting"},{"title":"Stripe Unsupported Countries and Reasons","href":"/end-user-guides/stripe/stripe-unsupported-countries-and-reasons"},{"group":"Implementation Team Stripe Web Hook Set Up Steps","pages":[{"title":"Implementation Team Stripe Web Hook Set Up Steps Overview","href":"/end-user-guides/stripe/implementation-team-stripe-web-hook-set-up-steps/index"},{"title":"Connected Account Stripe Test/Live Webhook Set Up [Client Facing]","href":"/end-user-guides/stripe/implementation-team-stripe-web-hook-set-up-steps/connected-account-stripe-test-live-webhook-set-up-client-facing"}]}]}]},{"group":"Accounts and Contacts","pages":[{"title":"Accounts and Contacts Overview","href":"/end-user-guides/accounts/index"},{"group":"Accounts","pages":[{"title":"Accounts Overview","href":"/end-user-guides/accounts/accounts/index"},{"title":"Account Address Flow Down","href":"/end-user-guides/accounts/accounts/account-address-flow-down-auto-sync"}]},{"title":"Contacts","href":"/end-user-guides/accounts/contacts"},{"group":"Person Account Support","pages":[{"title":"Person Account Support Overview","href":"/end-user-guides/accounts/person-account-support/index"},{"title":"Set Up Person Accounts","href":"/end-user-guides/accounts/person-account-support/person-account-set-up/index"},{"title":"Using the Primary Account Field","href":"/end-user-guides/accounts/person-account-support/using-the-primary-account-field"},{"title":"Using Account Address Flowdown with Person Accounts","href":"/end-user-guides/accounts/person-account-support/using-account-address-flowdown-with-person-accounts"}]},{"group":"Communities","pages":[{"title":"Communities Overview","href":"/end-user-guides/accounts/communities/index"},{"title":"Community Member","href":"/end-user-guides/accounts/communities/community-member/index"}]},{"title":"Accounts and Contacts Troubleshooting","href":"/end-user-guides/accounts/troubleshooting"}]},{"group":"Product","pages":[{"title":"Product Overview","href":"/end-user-guides/products/index"},{"group":"Product Set Up","pages":[{"title":"Product Set Up Overview","href":"/end-user-guides/products/product-set-up/index"},{"title":"Miscellaneous Products","href":"/end-user-guides/products/product-set-up/miscellaneous-products"},{"title":"Subscription Products","href":"/end-user-guides/products/product-set-up/subscription-products"},{"title":"Price Books","href":"/end-user-guides/products/product-set-up/price-books"},{"title":"Product Image Upload","href":"/end-user-guides/products/product-set-up/product-image-upload"}]},{"group":"Product System Category","pages":[{"title":"Product System Category Overview","href":"/end-user-guides/products/product-system-category/index"},{"title":"Product Config Metadata Fields","href":"/end-user-guides/products/product-system-category/product-config-metadata-fields"}]},{"group":"Benefit Allocations","pages":[{"title":"Benefit Allocations Overview","href":"/end-user-guides/products/benefit-allocations/index"},{"title":"Setting Up Benefit Allocation on a Product","href":"/end-user-guides/products/benefit-allocations/setting-up-benefit-allocation-on-a-product"},{"title":"Creating Benefit Allocations","href":"/end-user-guides/products/benefit-allocations/creating-benefit-allocations"},{"title":"Transferring Benefit Allocations","href":"/end-user-guides/products/benefit-allocations/transferring-benefit-allocations"},{"title":"Ending Benefit Allocations","href":"/end-user-guides/products/benefit-allocations/ending-benefit-allocations"},{"title":"Carrying Over Benefit Allocations on Renewal","href":"/end-user-guides/products/benefit-allocations/carrying-over-benefit-allocations-on-renewal"}]},{"group":"Conditions","pages":[{"title":"Conditions Overview","href":"/end-user-guides/products/conditions/index"},{"title":"Creating a Condition","href":"/end-user-guides/products/conditions/creating-a-condition"},{"title":"Simple Conditions","href":"/end-user-guides/products/conditions/simple-conditions/index"},{"title":"Apex Conditions","href":"/end-user-guides/products/conditions/apex-conditions"}]},{"group":"Taxes","pages":[{"title":"Taxes Overview","href":"/end-user-guides/products/taxes/index"},{"title":"Marking a Product as Taxable","href":"/end-user-guides/products/taxes/marking-a-product-as-taxable"},{"title":"Tax Products","href":"/end-user-guides/products/taxes/tax-products"},{"title":"Setting Up the Default Tax Product","href":"/end-user-guides/products/taxes/setting-up-the-default-tax-product"}]},{"group":"Discount Codes","pages":[{"title":"Discount Codes Overview","href":"/end-user-guides/products/discount-codes/index"},{"title":"Creating a Discount Code","href":"/end-user-guides/products/discount-codes/creating-a-discount-code"},{"title":"Configuring and Adding Discount Codes to Products","href":"/end-user-guides/products/discount-codes/configuring-and-adding-discount-codes-to-products"},{"title":"Removing Products from Discount Codes","href":"/end-user-guides/products/discount-codes/removing-products-from-discount-codes"},{"title":"Paying with a Discount Code","href":"/end-user-guides/products/discount-codes/paying-with-a-discount-code"}]},{"title":"Product Troubleshooting","href":"/end-user-guides/products/troubleshooting"}]},{"group":"Orders and Opportunities","pages":[{"title":"Orders and Opportunities Overview","href":"/end-user-guides/orders/index"},{"group":"Opportunities","pages":[{"title":"Opportunities Overview","href":"/end-user-guides/orders/opportunities/index"},{"title":"Creating New Opportunity Records","href":"/end-user-guides/orders/opportunities/creating-new-opportunity-records"},{"title":"Opportunity to Order Conversion","href":"/end-user-guides/orders/opportunities/opportunity-to-order-conversion"}]},{"group":"Orders","pages":[{"title":"Orders Overview","href":"/end-user-guides/orders/orders/index"},{"title":"Creating an Order","href":"/end-user-guides/orders/orders/creating-an-order"},{"title":"Adding a Product to an Order","href":"/end-user-guides/orders/orders/adding-a-product-to-an-order"},{"title":"Configuring Max Number of Products in Search","href":"/end-user-guides/orders/orders/configuring-max-number-of-products-in-search"},{"title":"Order Statuses","href":"/end-user-guides/orders/orders/order-statuses"},{"title":"Automatic Deletion of Abandoned Orders","href":"/end-user-guides/orders/orders/automatic-order-deletion"},{"title":"Posting an A/R","href":"/end-user-guides/orders/orders/posting-an-a-r"},{"title":"Paying on an Order","href":"/end-user-guides/orders/orders/paying-on-an-order/index"},{"title":"Refunding an Order","href":"/end-user-guides/orders/orders/refunding-an-order"},{"title":"Adjusting an Order","href":"/end-user-guides/orders/orders/adjusting-an-order"},{"title":"Writing off an Order","href":"/end-user-guides/orders/orders/writing-off-an-order"},{"title":"Voiding an Order","href":"/end-user-guides/orders/orders/voiding-an-order"},{"title":"Account Credit","href":"/end-user-guides/orders/account-credit/index"},{"title":"Financial Events","href":"/end-user-guides/orders/orders/financial-events"}]},{"group":"Statements","pages":[{"title":"Statements Overview","href":"/end-user-guides/orders/statements/index"},{"title":"Creating a Statement","href":"/end-user-guides/orders/statements/creating-a-statement"},{"title":"Statement Statuses","href":"/end-user-guides/orders/statements/statement-statuses"},{"title":"Paying a Statement","href":"/end-user-guides/orders/statements/paying-a-statement"},{"title":"Refunding a Statement","href":"/end-user-guides/orders/statements/refunding-a-statement"},{"title":"Configuring Statements","href":"/end-user-guides/orders/statements/configuring-statements"}]},{"group":"Opportunity Products","pages":[{"title":"Opportunity Products Overview","href":"/end-user-guides/orders/order-opportunity-products/index"},{"title":"Adding an Opportunity Product","href":"/end-user-guides/orders/order-opportunity-products/adding-an-opportunity-product"}]},{"group":"Purchase Activities","pages":[{"title":"Purchase Activities Overview","href":"/end-user-guides/orders/purchase-activities/index"},{"title":"Miscellaneous Purchase Activities","href":"/end-user-guides/orders/purchase-activities/miscellaneous-purchase-activities"}]},{"group":"Installments","pages":[{"title":"Installments Overview","href":"/end-user-guides/orders/installments/index"},{"title":"Enabling Installments","href":"/end-user-guides/orders/installments/enabling-installments"},{"title":"Creating Installments","href":"/end-user-guides/orders/installments/creating-installments"},{"title":"Revising Installments","href":"/end-user-guides/orders/installments/revising-installments"},{"title":"Installment Financial Events","href":"/end-user-guides/orders/installments/installment-financial-events"},{"title":"Manually Paying for an Installment","href":"/end-user-guides/orders/installments/manually-paying-for-an-installment"},{"title":"Metadata Settings for Installments","href":"/end-user-guides/orders/installments/metadata-settings-for-installments"}]},{"group":"Auto-Charge","pages":[{"title":"Auto-Charge Overview","href":"/end-user-guides/orders/auto-charge/index"},{"title":"Configuring Auto-Charge","href":"/end-user-guides/orders/auto-charge/configuring-auto-charge"},{"title":"Updating Auto-Charge Payment Method","href":"/end-user-guides/orders/auto-charge/updating-auto-charge-payment-method"}]},{"title":"Orders and Opportunities Troubleshooting","href":"/end-user-guides/orders/troubleshooting"}]},{"group":"Subscriptions","pages":[{"title":"Subscriptions Overview","href":"/end-user-guides/subscriptions/index"},{"group":"Subscription Plans","pages":[{"title":"Subscription Plans Overview","href":"/end-user-guides/subscriptions/subscription-plans/index"},{"title":"Anniversary Subscription Plans","href":"/end-user-guides/subscriptions/subscription-plans/anniversary-subscription-plans"},{"title":"Calendar Subscription Plans","href":"/end-user-guides/subscriptions/subscription-plans/calendar-subscription-plans"},{"title":"Linking Plans to Products","href":"/end-user-guides/subscriptions/subscription-plans/linking-plans-to-products"}]},{"title":"Subscription Purchase Activities","href":"/end-user-guides/subscriptions/subscription-purchase-activities"},{"title":"Membership Info on Account/Contact","href":"/end-user-guides/subscriptions/membership-info-on-account-contact"},{"title":"Advanced Joins","href":"/end-user-guides/subscriptions/advanced-joins"},{"title":"Subscription Cancellation","href":"/end-user-guides/subscriptions/subscription-cancellation"},{"group":"Subscription Renewal","pages":[{"title":"Subscription Renewal Overview","href":"/end-user-guides/subscriptions/subscription-renewal/index"},{"title":"Configuring the Batch Job","href":"/end-user-guides/subscriptions/subscription-renewal/configuring-the-batch-job"},{"title":"Renewal Paths","href":"/end-user-guides/subscriptions/subscription-renewal/renewal-paths"}]},{"title":"Subscription Start Date Updater","href":"/end-user-guides/subscriptions/subscription-start-date-updater"},{"title":"Subscriptions Troubleshooting","href":"/end-user-guides/subscriptions/troubleshooting"}]},{"group":"Portal","pages":[{"title":"Portal Overview","href":"/end-user-guides/portal/index"},{"title":"Setting Up a Portal Site","href":"/end-user-guides/portal/setting-up-a-portal-site"},{"title":"Enabling Guest Portal Users","href":"/end-user-guides/portal/enabling-guest-portal-users"},{"title":"Enabling Authenticated Portal Users","href":"/end-user-guides/portal/enabling-authenticated-portal-users"},{"title":"Creating Portal Site Pages","href":"/end-user-guides/portal/creating-portal-site-pages"},{"title":"My Profile","href":"/end-user-guides/portal/my-profile"},{"title":"Wallet Item Page","href":"/end-user-guides/portal/wallet-item-page"},{"group":"Checkout (LWC)","pages":[{"title":"Checkout (LWC) Overview","href":"/end-user-guides/portal/checkout-lwc/index"},{"title":"Configuring the Business Unit's Portal Checkout URL","href":"/end-user-guides/portal/checkout-lwc/configuring-the-business-units-portal-checkout-page"},{"title":"Configuring Field Sets for Portal Checkout","href":"/end-user-guides/portal/checkout-lwc/configuring-field-sets-for-portal-checkout"},{"title":"Payment Confirmation","href":"/end-user-guides/portal/checkout-lwc/payment-confirmation"},{"title":"reCAPTCHA for Guest Checkout","href":"/end-user-guides/portal/checkout-lwc/recaptcha-for-guest-checkout"},{"title":"Checkout (Aura) — Legacy","href":"/end-user-guides/portal/checkout-lwc/checkout-aura"}]},{"group":"Portal Roster Pages (Roster settings)","pages":[{"title":"Roster Settings","href":"/end-user-guides/portal/portal-order-page-roster-settings/roster-settings"},{"title":"Portal Roster Pages","href":"/end-user-guides/portal/portal-order-page-roster-settings/portal-order-page"}]},{"group":"Subscription Hub","pages":[{"title":"Subscription Hub Overview","href":"/end-user-guides/portal/subscription-hub/index"},{"title":"Setting Up the Subscription Hub","href":"/end-user-guides/portal/subscription-hub/setting-up-the-subscription-hub"},{"title":"Managing Benefit Allocations for Subscription Hub","href":"/end-user-guides/portal/subscription-hub/managing-benefit-allocations-for-subscription-hub"},{"title":"Managing and Renewing Subscriptions in Subscription Hub","href":"/end-user-guides/portal/subscription-hub/managing-and-renewing-subscriptions-in-subscription-hub"},{"title":"Setting Up the Renewal Options Page","href":"/end-user-guides/portal/subscription-hub/setting-up-the-renewal-options-page"},{"title":"Renewing a Subscription in the Portal","href":"/end-user-guides/portal/subscription-hub/renewing-a-subscription-in-the-portal"},{"title":"Manage Benefits Page","href":"/end-user-guides/portal/subscription-hub/manage-benefits-page"},{"title":"Cancel Subscription","href":"/end-user-guides/portal/subscription-hub/cancel-subscription"}]},{"group":"Store","pages":[{"title":"Store Overview","href":"/end-user-guides/portal/store/index"},{"title":"Setting Up Store Settings","href":"/end-user-guides/portal/store/setting-up-store-settings"},{"title":"Preparing Products for the Store","href":"/end-user-guides/portal/store/preparing-products"},{"title":"The Store and Product Pages","href":"/end-user-guides/portal/store/store-and-product-pages"},{"title":"The Cart","href":"/end-user-guides/portal/store/cart"},{"title":"Guest Checkout","href":"/end-user-guides/portal/store/guest-checkout"},{"title":"Store Troubleshooting","href":"/end-user-guides/portal/store/troubleshooting"}]},{"title":"Portal Troubleshooting","href":"/end-user-guides/portal/troubleshooting"}]},{"group":"Reports","pages":[{"title":"Reports","href":"/end-user-guides/reports/index"}]},{"group":"Accelerators","pages":[{"title":"Accelerators Overview","href":"/end-user-guides/accelerators/index"},{"title":"Lockbox for fusionCore","href":"/end-user-guides/accelerators/lockbox-for-fusioncore"},{"title":"Transaction Generator","href":"/end-user-guides/accelerators/transaction-generator"},{"title":"Email Flows","href":"/end-user-guides/accelerators/email-flows"},{"title":"Affiliations for Base Salesforce","href":"/end-user-guides/accelerators/affiliations-for-base-salesforce"},{"title":"Contact User Sync for Base Salesforce","href":"/end-user-guides/accelerators/contact-user-sync-for-base-salesforce"},{"title":"Google and Apple Wallet","href":"/end-user-guides/accelerators/google-apple-wallet"},{"title":"NPC Stakeholder Management","href":"/end-user-guides/accelerators/npc-stakeholder-management"},{"title":"New User Registration","href":"/end-user-guides/accelerators/new-user-registration"},{"title":"Roster","href":"/end-user-guides/accelerators/roster"},{"title":"Custom Header and Footer","href":"/end-user-guides/accelerators/custom-header-and-footer"},{"title":"Health Checker","href":"/end-user-guides/accelerators/health-checker"},{"title":"fusionSpan Common Base Library","href":"/end-user-guides/accelerators/fusionspan-common-base-library"}]}]},{"tab":"Developer Guide","pages":[{"title":"Developer Guide","href":"/developer-guide"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Managing Job Groups - fusionCore Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-D2acuaLg.js","DynamicMarkdown-Co5nikxh.js","zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}