Bulk Job Status Dashboard Generator
Scheduled daily flow retrieves all bulk jobs from Salesforce, categorizes by status, and writes a dashboard-style report to Excel on SharePoint for IT monitoring.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
Scheduled daily flow that retrieves all Salesforce bulk data jobs via the GetAllJobs connector action, iterates through each job record, and writes a row to an Excel workbook on SharePoint containing job metadata (ID, state, operation, object type, record counts, timestamps). Provides IT admins with a persistent, filterable dashboard for monitoring bulk job health across the Salesforce org.
Use Case
IT operations teams need visibility into Salesforce bulk data jobs — imports, exports, deletes, and upserts — to catch failed or stalled jobs early. This flow runs daily, captures a snapshot of every bulk job, and writes it to Excel on SharePoint where Power BI or pivot tables can surface trends, failure rates, and processing volumes over time.
The flow is ideal for teams that:
- IT operations teams monitoring Salesforce bulk job health
- Admins who need early warning on failed or stalled bulk jobs
- Reporting teams building Power BI or pivot views over bulk job history
- Organizations running daily/weekly Salesforce data imports, exports, or upserts
Flow Architecture
Recurrence
ScheduleRuns daily at 6:00 AM EST.
Init varSharePointSiteUrl
InitializeVariable (String)Loads the SharePoint site URL from env var `flowlibs_SharePointSiteURL`.
Init varExcelFilePath
InitializeVariable (String)Loads the dashboard workbook path from env var `flowlibs_BulkJobDashboardExcelPath`.
Init varExcelTableName
InitializeVariable (String)Loads the Excel table name from env var `flowlibs_BulkJobDashboardTableName`.
Init varSnapshotDate
InitializeVariable (String)Captures the snapshot timestamp with `utcNow('yyyy-MM-dd HH:mm:ss')`.
Init varJobCount
InitializeVariable (Integer)Initializes the running job counter to 0.
Get All Bulk Jobs
Salesforce GetAllJobsRetrieves all bulk data jobs from Salesforce (Open, InProgress, JobComplete, Failed, Aborted).
For Each Job
Foreach loopFor each record in `body('Get_All_Bulk_Jobs')?['records']`: adds a dashboard row to Excel and increments the job count. Sub-actions run sequentially inside the loop.
Compose Dashboard Summary
ComposeBuilds a summary string containing the total jobs logged and the snapshot timestamp.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | Root URL of the SharePoint site that hosts the dashboard workbook. |
| flowlibs_BulkJobDashboardExcelPath | String | /Shared Documents/FlowLibs - Bulk Job Dashboard.xlsx | Site-relative path to the Excel workbook where bulk job rows are appended. |
| flowlibs_BulkJobDashboardTableName | String | BulkJobDashboard | Name of the Excel table inside the workbook that receives one row per bulk job. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Salesforce | shared_salesforce | GetAllJobs (Retrieves all bulk data jobs) |
| Excel Online (Business) | shared_excelonlinebusiness | AddRowV2 (Writes one dashboard row per bulk job) |
| SharePoint | shared_sharepointonline |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Create the dashboard workbook
- Create an Excel workbook at the path specified in flowlibs_BulkJobDashboardExcelPath (default: /Shared Documents/FlowLibs - Bulk Job Dashboard.xlsx).
- Add the BulkJobDashboard table
- Inside the workbook, add a table named per flowlibs_BulkJobDashboardTableName (default: BulkJobDashboard) with columns SnapshotDate, JobId, State, Operation, Object, RecordsProcessed, RecordsFailed, CreatedDate.
- Set environment variables
- Update the three environment variable values for your SharePoint site URL, workbook file path, and Excel table name.
- Authorize connections
- In the flow designer, authorize the Salesforce and Excel Online (Business) connections with accounts that have the required permissions.
- Turn the flow On
- Enable the flow so the daily recurrence trigger fires at 6:00 AM EST.
- Adjust the schedule
- Edit the Recurrence trigger to change frequency or time of day if a daily 6:00 AM EST snapshot does not fit your monitoring cadence.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Snapshot timestamp
Sets varSnapshotDate to a sortable string written into every dashboard row.
EXPR.02Foreach source
Drives the For Each Job loop over the Salesforce GetAllJobs response.
EXPR.03Null-safe field access
Defaults the Operation column to an empty string when Salesforce omits the field.
EXPR.04Job count summary
Compose action output describing the run, suitable for downstream notifications.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.