Activity History (dev)
Canopy maintains project activities within the project space. Project activity history is archived when the admin archives the project and disposed of when the admin deletes the project.
Project Administrators can view the Activity History page by clicking on the Activity tab under Project Settings.

Legacy activities do not follow the same format and will be converted over time. Canopy supports legacy formatted activities by mapping the fields as follows:
| New UI Field | Legacy UI Field |
|---|---|
| Begin Date/Time | Date and Time |
| End Date/Time | Date and Time or leave blank if it does not exist. |
| Activity Class | Leave Blank |
| Type | Activity Type |
| Job ID | Leave Blank |
| User | User Name (Email Address) |
| Description | Current description excluding the user name. |
| Details | Details |
Some activities are associated with a job. Job ID allows users to group events related by activity. Job activity can be used to understand who, what, how, and when related work to a single action was applied.
- Sign in as a Project Administrator.
- Select the project you are working on.
- In the upper-right corner of any page on Canopy, click Settings, click Project, and then click on Activities.

- Select the Class filter from the header of the data grid.

- Add Consolidation to is any of selected filter.
- Once filtered, scroll to your right and copy the job ID of the run consolidation job you would like to filter.
- Select the Job ID filter and paste the job ID you just copied into the filter.

- Paste the job ID you just copied into the is any of these filter.
- Done
Background jobs or services typically have states to reflect their lifecycle or current status. Here’s a list of job states:
Initial/Pre-Execution States (Appears in the Job Manager’s Working Tab)
- Created: Job has been initialized but not yet scheduled or processed.
- Queued: Waiting in line to be executed.
- Dequed: Job has been dequeued as part of a cancellation request.
Active States (Appears in the Job Manager’s Working Tab)
- Working: Actively being processed or executed.
- Waiting: Temporarily on hold, waiting for external resources or conditions to proceed.
- Canceling: The user pressed cancel, and the job is in the process of canceling.
Completion States (Appears in the Job Manager’s Completed Tab)
- Completed: Successfully finished processing without errors.
- Canceled: Terminated by external intervention before completion.
- Partially Completed: Completed some work completed successfully but encountered issues with others.
Completed with Error (Appears in the Job Manager’s Failed Tab)
- Failed: Execution terminated due to errors.
- Timed Out: Failed to complete within an allotted time frame.
---
title: Job Template
---
stateDiagram-v2
%% UX Text
decision_process : Background task?
cancel_process : User pressed cancel?
error_process: Error encountered?
queued_process: Job queued?
backup_process : Backup supported?
restore_process : Backup exists?
retry_process : User selects retry job?
%% composites
state working {
[*]
}
state create {
[*]
}
state timeout {
[*]
}
state fail {
[*]
}
state dequed {
[*]
}
state canceling {
[*]
}
state canceled {
[*]
}
state enqueue {
[*]
}
state partial {
[*]
}
state completed {
[*]
}
state waiting {
[*]
}
state backup {
[*]
}
state restore {
[*]
}
state retry {
[*]
}
%% choices
state background_choice <<choice>>
state cancel_choice <<choice>>
state error_choice <<choice>>
state queued_choice <<choice>>
state backup_choice <<choice>>
state restore_choice <<choice>>
state retry_choice <<choice>>
%% forks
state fork_state <<fork>>
create --> fork_state
fork_state --> cancel_process
fork_state --> decision_process
fork_state --> error_process
%% state diagram
%% Request job
[*] --> create
%% Run task
decision_process --> background_choice
background_choice --> working : No, start process in foreground
background_choice --> enqueue : Yes, enqueue in background
enqueue --> backup_process
backup_process --> backup_choice
backup_choice --> backup : Yes, backup
backup_choice --> working : No, start work
backup --> working : Start work
working --> waiting : Resource constraint
waiting --> working : Retry job
working --> completed : Completed - Success
working --> partial : Completed - Partial Success
completed --> [*]
partial --> [*]
cancel_process --> cancel_choice : Yes
cancel_choice --> queued_process
cancel_choice --> cancel_process : No, listen for cancel
queued_process --> queued_choice
queued_choice --> dequed : Yes, dequeue job
queued_choice --> canceling : No, cancel work
canceling --> restore_process
restore_process --> restore_choice
restore_choice --> restore : Backup exists, restore
restore_choice --> canceled : Completed - Canceled Work
restore --> canceled : Completed - Canceled Work and Restored Previous State
dequed --> canceled : Completed - Dequeued Job
canceled --> [*]
error_process --> error_choice : Yes
error_choice --> fail : Completed - Failure Error
error_choice --> timeout : Incomplete - Failure Time Out
error_choice --> error_process : No, listen for error
fail --> [*]
timeout --> retry_process
retry_process --> retry_choice
retry_choice --> retry : Yes, queue to try again
retry_choice --> retry_process : No, listen for retry
retry --> enqueue
Classes are created to logically group activity types that belong to the same module or workflow in the application.
The following is a list of activities captured by class:
| Type | Description |
|---|---|
| Export | Created the export named {{export_name}} for download with export ID: {{export_id}}. |
| Type | Description |
|---|---|
| Complete | Successfully bulk mapped documents. Document IDs: {{val, list}} |
| Upload | Successfully uploaded document for bulk mapping. Document IDs: {{val, list}} |
| Fail | Failed to upload document for bulk mapping. Document IDs: {{val, list}} |
| Type | Description |
|---|---|
| Completed | Completed report {{report_name}} {{report_id}} job {{job_id}}. |
| Copy | Copied {{report_name}} {{report_id}} to {{copied_report_name}} {{copied_report_id}}. |
| Create | Created report {{report_name}} {{report_id}}. |
| Download | Downloaded report {{report_name}} {{report_id}} job {{job_id}} as a {{CSV |
| Edit | Edited report {{report_name}} {{report_id}}. See details for config only. |
| Error | {‘scope’: ‘Running report {{report_name}} {{report_id}} resulted in a(n) {{scope |
| Rename | Renamed report from {{report_name}} to {{report_name}} {{report_id}}. |
| Save As | Saved {{report_name}} {{report_id}} job {{job_id}} to {{save_as_report_name}} {{save_as_report_id}}. |
| Save | Saved report {{report_name}} {{report_id}}. See details for config only. |
| Search | Started run search report {{report_name}} {{report_id}} job {{job_id}}. |
| Stop | Stopped report {{report_name}} {{report_id}} job {{job_id}}. |
| Tag | Started run search and tagging report {{report_name}} {{report_id}} job {{job_id}}. |
| Type | Description |
|---|---|
| Backed Up | Backed up {{master, number}} master and {{raw, number}} raw entities. |
| Paused | “Back up paused.”, “Clustering paused.”, “Conflict checking paused.”, “Deletion paused.”, “Restoration of consolidated entities paused.”, “Restoration of raw entities paused.”, “Stopping background process paused.”, or “Synchronization paused.” |
| Backing Up | Backing up master and raw entities. |
| Clustered | Deduplicated {{deduped, number}} and clustered {{completed, number}} entities by rules. |
| Clustering | Clustering sets by duplicates and rules. |
| Checked | Check completed with {{conflicts, number}} conflicts and {{consolidated, number}} consolidated entities. |
| Checking | “Checking conflicts per settings.” |
| Deleted | “Manual decisions deleted.”, “Consolidated list deleted.”, or “Consolidated list and decisions deleted.” |
| Deleting | “Deleting manual decisions only.”, “Deleting consolidated list only.”, or “Deleting consolidated list and manual decisions.” |
| Completed | “Process completed.” |
| Queued | Process queued using ruleset: {{ruleset}}." |
| Started | Process started. |
| Restored | “Restored consolidated entities.” or “Restored raw entities.” |
| Restoring | “Restoring consolidated entities.” or ““Restoring raw entities.” |
| Stopped | Stopped background process. |
| Stopping | Stopping background process. |
| Synchronized | Synchronized {{new, number}} new, {{update, number}} changed, and {{deleted, number}} deleted entities. |
| Synchronizing | Synchronizing new, changed, and deleted entities. |
| Type | Description | Example |
|---|---|---|
| Download | Downloaded an export. | |
| Complete Email | Subject: Canopy Export Completed! – when document related exports completed From: {{from_email}} To: {{to_email}} Message ID: {{MessageId}} |
![]() |
| Link | Created a temporary download link for an export. |
| Type | Description |
|---|---|
| Copy | Copied view {{view_name}} {{view_id}}. |
| Create | Created view {{view_name}} {{view_id}}. |
| Delete | Deleted view {{view_name}} {{view_id}}. |
| Move | Moved view {{view_name}} {{view_id}} from folder {{folder_name}} to folder {{folder_name}}. |
| Rename | {‘rename_folder’: ‘Renamed folder from {{from_folder_name}} to {{to_folder_name}}.’, ‘rename_view’: ‘Renamed view from {{view_name}} to {{view_name}} {{view_id}}.’} |
| Share | {‘with_role’: ‘Shared view {{view_name}} {{view_id}} with {{user_role}.’, ‘with_user’: ‘Shared view {{view_name}} {{view_id}} with {{user_name}.’} |
| Stop Share | {‘stop_share_with_role’: ‘Stopped sharing view {{view_name}} {{view_id}} with {{user_role}}.’, ‘stop_share_with_user’: ‘Stopped sharing view {{view_name}} {{view_id}} with {{user_name}}.’} |
| Type | Description | Example |
|---|---|---|
| Consent Email | Subject: Canopy M365 Plugin - Admin Consent From: {{from_email}} To: {{to_email}} Message ID: {{MessageId}} |
![]() |
| Type | Description |
|---|---|
| Active | Active in project. Session {{session_id}}. |
| Entered | Entered the project. Session {{session_id}}. |
| Exited | Exited the project. Session {{session_id}}. |
| Timed Out | Logged out after {{val}} minutes of inactivity {{session_id}}. Session {{session_id}}. |
| Type | Description |
|---|---|
| Copy | Copied view {{view_name}} {{view_id}}. |
| Create | Created view {{view_name}} {{view_id}}. |
| Delete | Deleted view {{view_name}} {{view_id}}. |
| Move | {‘folder_to_folder’: ‘Moved view {{view_name}} {{view_id}} from folder {{from_folder_name}} to folder {{to_folder_name}}.’, ‘folder_to_root’: ‘Moved view {{view_name}} {{view_id}} from folder {{from_folder_name}} to the root folder.’, ‘root_to_folder’: ‘Moved view {{view_name}} {{view_id}} from the root folder to folder {{to_folder_name}}.’} |
| Rename | {‘folder’: ‘Renamed folder from {{from_folder_name}} to {{to_folder_name}}.’, ‘view’: ‘Renamed view from {{from_view_name}} to {{to_view_name}} {{view_id}}.’} |
| Share | {‘user_name’: ‘Shared view {{view_name}} {{view_id}} with {{user_name}}.’, ‘user_role’: ‘Shared view {{view_name}} {{view_id}} with {{user_role}}.’} |
| Stop Share | {‘user_name’: ‘Stopped sharing view {{view_name}} {{view_id}} with {{user_name}}.’, ‘user_role’: ‘Stopped sharing view {{view_name}} {{view_id}} with {{user_role}}.’} |
| Update | Updated view {{view_name}} {{view_id}}. |
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Back Up | state.backup | Backup completed | description.job.backup_completed |
| Back Up | state.backup | Backup started | description.job.backup_started |
| Canceled | state.canceled | Process terminated by user successfully. | description.job.canceled |
| Canceling | state.canceling | The user pressed cancel, and the job is in the process of canceling. | description.job.canceling |
| Completed | state.completed | Deleted $t(raw_entities, {“count”: {{raw_entities}} }) from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN> and updated $t(master_entities, {“count”: {{master_entities}} }). | description.job.document_entity_delete |
| Completed | state.completed | Deleted $t(raw_entities, {“count”: {{raw_entities}} }), deleted $t(master_entities, {“count”: {{master_entities}} }), and updated $t(master_entities, {“count”: {{master_entities}} }) impacting $t(documents, {“count”:{{documents}} }). | description.job.entity_list_delete |
| Completed | state.completed | Deleted $t(raw_entities, {“count”: {{raw_entities}} }) from entity detail view document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN> and updated $t(master_entities, {“count”: {{master_entities}} }). | description.job.master_entity_detail_entity_delete |
| Create | state.create | Selected all resulting in $t(raw_entities, {“count”: {{raw_entities}} }) from a document in Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>. | description.job.select_all_entities_from_document |
| Create | state.create | Selected all resulting in $t(raw_entities, {“count”: {{raw_entities}} }) from a sheet in Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>. | description.job.select_all_entities_from_sheet |
| Create | state.create | Selected $t(master_entities, {“count”: {{master_entities}} }) by checking boxes on the Consolidated Entity List. | description.job.select_checkboxes_from_master_list |
| Create | state.create | Selected $t(raw_entities, {“count”: {{raw_entities}} }) by checking boxes on the Raw Entity List. | description.job.select_checkboxes_from_raw_list |
| Create | state.create | Selected $t(master_entities, {“count”: {{master_entities}} }) by applying filters to the Consolidated Entity List. | description.job.select_filters_from_master_list |
| Create | state.create | Selected $t(raw_entities, {“count”: {{raw_entities}} }) by applying filters to the Raw Entity List. | description.job.select_filters_from_raw_list |
| Create | state.create | Selected a single raw entity from the Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>. | description.job.select_single_entity_from_document |
| Create | state.create | Selected a single related raw entity from a consolidated entity’s Master Entity Detail screen. The raw entity was from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>. | description.job.select_single_entity_from_master_entity_detail |
| Dequeued | state.dequeued | The user pressed cancel and system dequeued the Job. | description.job.dequeued |
| Enqueue | state.enqueue | Waiting to be executed. | description.job.enqueue |
| Fail | state.fail | Job terminated unexpectedly. Open a customer support ticket and request assistance. | description.job.failed |
| Fail | state.fail | Job failed because service was not available. Open a customer support ticket and request assistance. | description.job.failed_service_not_available |
| Partially Completed | state.partial | Deleted $t(raw_entities, {“count”: {{raw_entities}} }) from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>, updated {{master_entities}}, and skipped {{entities}}. | description.job.partial_document_entity_delete |
| Partially Completed | state.partial | Deleted $t(raw_entities, {“count” {{raw_entities}} }), deleted $t(master_entities, {“count” {{master_entities}} }), and updated $t(master_entities, {“count” {{master_entities}} }) impacting $t(documents, {“count” {{documents}} }). Skipped $t(raw_entities, {“count” {{raw_entities}} }). | description.job.partial_entity_list_delete |
| Restore | state.restore | Restore completed | description.job.restore_completed |
| Restore | state.restore | Restore started | description.job.restore_started |
| Timed Out | state.timeout | Failed to complete within the allotted time frame. Open a customer support ticket and request for Canopy to retry the job. | description.job.timeout |
| Waiting | state.waiting | Process temporarily on hold, waiting for external resources or conditions to proceed. | description.job.waiting |
| Working | state.working | Deleting $t(clustered_entities, {“count”: {{clustered_entities}} }) | description.job.deleting_clustered |
| Working | state.working | Deleting $t(master_entities, {“count”: {{master_entities}} }) containing no merged or clustered entities | description.job.deleting_master |
| Working | state.working | Deleting $t(merged_entities, {“count”: {{merged_entities}} }) | description.job.deleting_merged |
| Working | state.working | Deleting $t(raw_entities, {“count”: {{raw_entities}} }) | description.job.deleting_raw |
| Working | state.working | Deleting Raw Entities From Masters | description.job.deleting_raw_from_master |
| Working | state.working | Deleting Raw Entities From Documents or Raw List | description.job.deleting_raw_from_raw |
| Working | state.working | Updating $t(master_entities, {“count”: {{master_entities}} }) | description.job.updating_masters |
---
title: Entity Deletion
---
stateDiagram-v2
%% UX Text
backup : Back Up
backup : Back Up
backup.backup_completed : Backup completed
backup : Back Up
backup.backup_started : Backup started
canceled : Canceled
canceled : Canceled
canceled.canceled : Process terminated by user successfully.
canceling : Canceling
canceling : Canceling
canceling.canceling : The user pressed cancel, and the job is in the process of canceling.
completed : Completed
completed : Completed
completed.document_entity_delete : Deleted $t(raw_entities, {"count" {{raw_entities}} }) from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN> and updated $t(master_entities, {"count" {{master_entities}} }).
completed : Completed
completed.entity_list_delete : Deleted $t(raw_entities, {"count" {{raw_entities}} }), deleted $t(master_entities, {"count" {{master_entities}} }), and updated $t(master_entities, {"count" {{master_entities}} }) impacting $t(documents, {"count"{{documents}} }).
completed : Completed
completed.master_entity_detail_entity_delete : Deleted $t(raw_entities, {"count" {{raw_entities}} }) from entity detail view document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN> and updated $t(master_entities, {"count" {{master_entities}} }).
create : Create
create : Create
create.select_all_entities_from_document : Selected <strong>all</strong> resulting in $t(raw_entities, {"count" {{raw_entities}} }) from a document in Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>.
create : Create
create.select_all_entities_from_sheet : Selected <strong>all</strong> resulting in $t(raw_entities, {"count" {{raw_entities}} }) from a sheet in Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>.
create : Create
create.select_checkboxes_from_master_list : Selected $t(master_entities, {"count" {{master_entities}} }) by checking boxes on the Consolidated Entity List.
create : Create
create.select_checkboxes_from_raw_list : Selected $t(raw_entities, {"count" {{raw_entities}} }) by checking boxes on the Raw Entity List.
create : Create
create.select_filters_from_master_list : Selected $t(master_entities, {"count" {{master_entities}} }) by applying filters to the Consolidated Entity List.
create : Create
create.select_filters_from_raw_list : Selected $t(raw_entities, {"count" {{raw_entities}} }) by applying filters to the Raw Entity List.
create : Create
create.select_single_entity_from_document : Selected a single raw entity from the Document View in document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>.
create : Create
create.select_single_entity_from_master_entity_detail : Selected a single related raw entity from a consolidated entity's Master Entity Detail screen. The raw entity was from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>.
dequeued : Dequeued
dequeued : Dequeued
dequeued.dequeued : The user pressed cancel and system dequeued the Job.
enqueue : Enqueue
enqueue : Enqueue
enqueue.enqueue : Waiting to be executed.
fail : Fail
fail : Fail
fail.failed : Job terminated unexpectedly. Open a customer support ticket and request assistance.
fail : Fail
fail.failed_service_not_available : Job failed because service was not available. Open a customer support ticket and request assistance.
partial : Partially Completed
partial : Partially Completed
partial.partial_document_entity_delete : Deleted $t(raw_entities, {"count" {{raw_entities}} }) from document <CPY_SEARCH_ID_LINK_BTN>{{search_id}}</CPY_SEARCH_ID_LINK_BTN>, updated {{master_entities}}, and skipped {{entities}}.
partial : Partially Completed
partial.partial_entity_list_delete : Deleted $t(raw_entities, {"count" {{raw_entities}} }), deleted $t(master_entities, {"count" {{master_entities}} }), and updated $t(master_entities, {"count" {{master_entities}} }) impacting $t(documents, {"count" {{documents}} }). Skipped $t(raw_entities, {"count" {{raw_entities}} }).
restore : Restore
restore : Restore
restore.restore_completed : Restore completed
restore : Restore
restore.restore_started : Restore started
retry : Retry
timeout : Timed Out
timeout : Timed Out
timeout.timeout : Failed to complete within the allotted time frame. Open a customer support ticket and request for Canopy to retry the job.
waiting : Waiting
waiting : Waiting
waiting.waiting : Process temporarily on hold, waiting for external resources or conditions to proceed.
working : Working
working : Working
working.deleting_clustered : Deleting $t(clustered_entities, {"count" {{clustered_entities}} })
working : Working
working.deleting_master : Deleting $t(master_entities, {"count" {{master_entities}} }) containing no merged or clustered entities
working : Working
working.deleting_merged : Deleting $t(merged_entities, {"count" {{merged_entities}} })
working : Working
working.deleting_raw : Deleting $t(raw_entities, {"count" {{raw_entities}} })
working : Working
working.deleting_raw_from_master : Deleting Raw Entities From Masters
working : Working
working.deleting_raw_from_raw : Deleting Raw Entities From Documents or Raw List
working : Working
working.updating_masters : Updating $t(master_entities, {"count" {{master_entities}} })
decision_process : Background task?
cancel_process : User pressed cancel?
error_process : Error encountered?
queued_process : Job queued?
backup_process : Backup supported?
restore_process : Backup exists?
retry_process : User selects retry job?
%% composites
state create {
direction LR
create.select_all_entities_from_document
create.select_all_entities_from_sheet
create.select_checkboxes_from_raw_list
create.select_filters_from_raw_list
create.select_checkboxes_from_master_list
create.select_filters_from_master_list
create.select_single_entity_from_document
create.select_single_entity_from_master_entity_detail
}
state working {
[*] --> working.deleting_raw_from_master
working.deleting_raw_from_master --> [*]
[*] --> working.deleting_raw_from_raw
working.deleting_raw_from_raw --> [*]
%%working_deleting_raw_from_master --> working_delete_entity
%%working_delete_entity --> working_deleting_raw_from_master
%%working_deleting_raw_from_raw --> working_delete_entity
%%working_delete_entity --> working_deleting_raw_from_raw
}
state working.deleting_raw_from_raw {
working.deleting_raw --> working.updating_masters
}
state backup {
backup.backup_started --> backup.backup_completed
}
state restore {
restore.restore_started --> restore.restore_completed
}
state working.deleting_raw_from_master {
working.deleting_master --> working.deleting_clustered
working.deleting_clustered --> working.deleting_merged
}
state timeout {
timeout.timeout
}
state fail {
direction LR
fail.failed
fail.failed_service_not_available
}
state dequeued {
dequeued.dequeued
}
state canceling {
canceling.canceling
}
state canceled {
canceled.canceled
}
state enqueue {
enqueue.enqueue
}
state partial {
direction LR
partial.partial_document_entity_delete
partial.partial_entity_list_delete
}
state completed {
direction LR
completed.document_entity_delete
completed.entity_list_delete
completed.master_entity_detail_entity_delete
}
state waiting {
waiting.waiting
}
state retry {
[*]
}
%% choices
state background_choice <<choice>>
state cancel_choice <<choice>>
state error_choice <<choice>>
state queued_choice <<choice>>
state backup_choice <<choice>>
state restore_choice <<choice>>
state retry_choice <<choice>>
%% forks
state fork_state <<fork>>
create --> fork_state
fork_state --> cancel_process
fork_state --> decision_process
fork_state --> error_process
%% state diagram
%% Request job
[*] --> create
%% Run task
decision_process --> background_choice
background_choice --> backup_process : No, start process in foreground
background_choice --> enqueue : Yes, enqueue in background
enqueue --> backup_process
backup_process --> backup_choice
backup_choice --> backup : Yes, backup
backup_choice --> working : No, go to work
backup --> working : Start work
working --> waiting : Resource constraint
waiting --> working : Retry job
working --> completed : Completed - Success
working --> partial : Completed - Partial Success
completed --> [*]
partial --> [*]
cancel_process --> cancel_choice : Yes
cancel_choice --> queued_process
cancel_choice --> cancel_process : No, listen for cancel
queued_process --> queued_choice
queued_choice --> dequeued : Yes, dequeue job
queued_choice --> canceling : No, cancel work
canceling --> restore_process
restore_process --> restore_choice
restore_choice --> restore : Backup exists, restore
restore_choice --> canceled : Completed - Canceled Work
restore --> canceled : Completed - Canceled Work and Restored Previous State
dequeued --> canceled : Completed - Dequeued Job
canceled --> [*]
error_process --> error_choice : Yes
error_choice --> fail : Yes, Completed - Failure Error
error_choice --> timeout : Yes, Incomplete - Failure Time Out
error_choice--> error_process : No, listen for error
fail --> [*]
timeout --> retry_process
retry_process --> retry_choice
retry_choice --> retry : Yes, queue to try again
retry_choice --> retry_process : No, listen for retry
retry --> enqueue
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Completed | state.completed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> deleted $t(raw_entities, {“count”: {{raw_entities}} }). | description.document.delete_entity_success |
| Partially Completed | state.partial | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> deleted $t(documents, {“count”: {{documents}} }) ({{val, list}}) and skipped deleting $t(documents, {“count”: {{documents}} }) ({{val, list}}). | description.document.delete_entity_skipped |
---
title: Audio Transcription
---
stateDiagram-v2
%% UX Text
completed : Completed
completed : Completed
completed.delete_entity_success : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> deleted $t(raw_entities, {"count" {{raw_entities}} }).
partial : Partially Completed
partial : Partially Completed
partial.delete_entity_skipped : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> deleted $t(documents, {"count" {{documents}} }) ({{val, list}}) and skipped deleting $t(documents, {"count" {{documents}} }) ({{val, list}}).
results_process : Was the transcription successful?
%% choices
state results_choice <<choice>>
%% states
state completed {
direction LR
completed.delete_entity_success
}
state partial {
direction LR
partial.delete_entity_skipped
}
%% state diagram
%% Request job
results_process --> results_choice
results_choice --> completed : Yes
results_choice --> partial : Partially
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Back Up | state.backup | Backup completed | description.job.backup_completed |
| Back Up | state.backup | Backup started | description.job.backup_started |
| Canceled | state.canceled | Process terminated by user successfully. | description.job.canceled |
| Canceling | state.canceling | The user pressed cancel, and the job is in the process of canceling. | description.job.canceling |
| Completed | state.completed | Successfully finished processing without errors. | description.job.completed |
| Create | state.create | Job has been initialized but not yet scheduled or processed. | description.job.created |
| Dequeued | state.dequeued | The user pressed cancel and system dequeued the Job. | description.job.dequeued |
| Enqueue | state.enqueue | Waiting to be executed. | description.job.enqueue |
| Fail | state.fail | Job terminated unexpectedly. Open a customer support ticket and request assistance. | description.job.failed |
| Partially Completed | state.partial | Some work completed successfully but encountered issues with others. | description.job.partial |
| Restore | state.restore | Restore completed | description.job.restore_completed |
| Restore | state.restore | Restore started | description.job.restore_started |
| Retry | state.retry | User selected retry. | description.job.retry |
| Timed Out | state.timeout | Failed to complete within the allotted time frame. Open a customer support ticket and request for Canopy to retry the job. | description.job.timeout |
| Waiting | state.waiting | Process temporarily on hold, waiting for external resources or conditions to proceed. | description.job.waiting |
| Working | state.working | Actively being processed or executed. | description.job.working |
---
title: preprocessing
---
stateDiagram-v2
%% UX Text
backup : Back Up
backup : Back Up
backup.backup_completed : Backup completed
backup : Back Up
backup.backup_started : Backup started
canceled : Canceled
canceled : Canceled
canceled.canceled : Process terminated by user successfully.
canceling : Canceling
canceling : Canceling
canceling.canceling : The user pressed cancel, and the job is in the process of canceling.
completed : Completed
completed : Completed
completed.completed : Successfully finished processing without errors.
create : Create
create : Create
create.created : Job has been initialized but not yet scheduled or processed.
dequeued : Dequeued
dequeued : Dequeued
dequeued.dequeued : The user pressed cancel and system dequeued the Job.
enqueue : Enqueue
enqueue : Enqueue
enqueue.enqueue : Waiting to be executed.
fail : Fail
fail : Fail
fail.failed : Job terminated unexpectedly. Open a customer support ticket and request assistance.
partial : Partially Completed
partial : Partially Completed
partial.partial : Some work completed successfully but encountered issues with others.
restore : Restore
restore : Restore
restore.restore_completed : Restore completed
restore : Restore
restore.restore_started : Restore started
retry : Retry
retry : Retry
retry.retry : User selected retry.
timeout : Timed Out
timeout : Timed Out
timeout.timeout : Failed to complete within the allotted time frame. Open a customer support ticket and request for Canopy to retry the job.
waiting : Waiting
waiting : Waiting
waiting.waiting : Process temporarily on hold, waiting for external resources or conditions to proceed.
working : Working
working : Working
working.working : Actively being processed or executed.
decision_process : Background task?
cancel_process : User pressed cancel?
error_process : Error encountered?
queued_process : Job queued?
backup_process : Backup supported?
restore_process : Backup exists?
retry_process : User selects retry job?
%% composites
state create {
direction LR
create.created
}
state working {
[*] --> working.working
working.working --> [*]
}
state backup {
backup.backup_started --> backup.backup_completed
}
state restore {
restore.restore_started --> restore.restore_completed
}
state timeout {
timeout.timeout
}
state fail {
fail.failed
}
state dequeued {
dequeued.dequeued
}
state canceling {
canceling.canceling
}
state canceled {
canceled.canceled
}
state enqueue {
enqueue.enqueue
}
state partial {
direction LR
partial.partial
}
state completed {
direction LR
completed.completed
}
state waiting {
waiting.waiting
}
state retry {
retry.retry
}
%% choices
state background_choice <<choice>>
state cancel_choice <<choice>>
state error_choice <<choice>>
state queued_choice <<choice>>
state backup_choice <<choice>>
state restore_choice <<choice>>
state retry_choice <<choice>>
%% forks
state fork_state <<fork>>
create --> fork_state
fork_state --> cancel_process
fork_state --> decision_process
fork_state --> error_process
%% state diagram
%% Request job
[*] --> create
%% Run task
decision_process --> background_choice
background_choice --> backup_process : No, start process in foreground
background_choice --> enqueue : Yes, enqueue in background
enqueue --> backup_process
backup_process --> backup_choice
backup_choice --> backup : Yes, backup
backup_choice --> working : No, go to work
backup --> working : Start work
working --> waiting : Resource constraint
waiting --> working : Retry job
working --> completed : Completed - Success
working --> partial : Completed - Partial Success
completed --> [*]
partial --> [*]
cancel_process --> cancel_choice : Yes
cancel_choice --> queued_process
cancel_choice --> cancel_process : No, listen for cancel
queued_process --> queued_choice
queued_choice --> dequeued : Yes, dequeue job
queued_choice --> canceling : No, cancel work
canceling --> restore_process
restore_process --> restore_choice
restore_choice --> restore : Backup exists, restore
restore_choice --> canceled : Completed - Canceled Work
restore --> canceled : Completed - Canceled Work and Restored Previous State
dequeued --> canceled : Completed - Dequeued Job
canceled --> [*]
error_process --> error_choice : Yes
error_choice --> fail : Yes, Completed - Failure Error
error_choice --> timeout : Yes, Incomplete - Failure Time Out
error_choice--> error_process : No, listen for error
fail --> [*]
timeout --> retry_process
retry_process --> retry_choice
retry_choice --> retry : Yes, queue to try again
retry_choice --> retry_process : No, listen for retry
retry --> enqueue
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Canceled | state.canceled | Transcribed $t(documents, {“count”: {{documents}} }), skipped $t(skipped_documents, {“count”: {{skipped_documents}} }), encountered errors on $t(failed_documents, {“count”: {{failed_documents}} }), and canceled transcription on $t(cancel_documents, {“count”: {{cancel_documents}} }). | description.job.cancel_transcription |
| Canceling | state.canceling | The user pressed cancel, and the job is in the process of canceling. | description.job.canceling |
| Completed | state.completed | Transcribed $t(documents, {“count”: {{documents}} }). | description.job.completed_transcription |
| Create | state.create | Selected $t(checkboxes, {“count”: {{checkboxes}} }) from the document list. | description.job.select_checkboxes_from_document_list |
| Dequeued | state.dequeued | The user pressed cancel and system dequeued the Job. | description.job.dequeued |
| Enqueue | state.enqueue | Waiting to be executed. | description.job.enqueue |
| Fail | state.fail | Transcription job attempted but failed to transcribe all $t(documents, {“count”: {{documents}} }). Contact Customer Success. | description.job.failed_transcription_job |
| Partially Completed | state.partial | Transcribed $t(documents, {“count”: {{documents}} }), skipped $t(skipped_documents, {“count”: {{skipped_documents}} }), and encountered errors on $t(failed_documents, {“count”: {{failed_documents}} }). | description.job.partial_transcription |
| Working | state.working | Transcribing $t(documents, {“count”: {{documents}} }). | description.job.transcribing |
---
title: Audio Transcription
---
stateDiagram-v2
%% UX Text
canceled : Canceled
canceled : Canceled
canceled.partial_transcription : Transcribed $t(documents, {"count" {{documents}} }), skipped $t(unsupported_documents, {"count" {{unsupported_documents}} }), and encountered errors on $t(documents, {"count" {{documents}} }).
canceling : Canceling
canceling : Canceling
canceling.canceling : The user pressed cancel, and the job is in the process of canceling.
completed : Completed
completed : Completed
completed.completed_transcription : Transcribed $t(documents, {"count" {{documents}} }).
create : Create
create : Create
create.select_checkboxes_from_document_list : Selected $t(checkboxes, {"count" {{checkboxes}} }) from the document list.
dequeued : Dequeued
dequeued : Dequeued
dequeued.dequeued : The user pressed cancel and system dequeued the Job.
enqueue : Enqueue
enqueue : Enqueue
enqueue.enqueue : Waiting to be executed.
fail : Fail
fail : Fail
fail.failed : Job terminated unexpectedly. Open a customer support ticket and request assistance.
partial : Partially Completed
partial : Partially Completed
partial.partial_transcription : Transcribed $t(documents, {"count" {{documents}} }), skipped $t(unsupported_documents, {"count" {{unsupported_documents}} }), and encountered errors on $t(documents, {"count" {{documents}} }).
working : Working
working : Working
working.transcribing : Transcribing $t(documents, {"count" {{documents}} }).
decision_process : Background task?
cancel_process : User pressed cancel?
error_process : Error encountered?
queued_process : Job queued?
%% composites
state create {
direction LR
create.select_checkboxes_from_document_list
}
state working {
[*] --> working.transcribing
working.transcribing --> [*]
}
state fail {
direction LR
fail.failed
}
state dequeued {
dequeued.dequeued
}
state canceling {
canceling.canceling
}
state canceled {
canceled.partial_transcription
}
state enqueue {
enqueue.enqueue
}
state partial {
direction LR
partial.partial_transcription
}
state completed {
direction LR
completed.completed_transcription
}
%% choices
state background_choice <<choice>>
state cancel_choice <<choice>>
state error_choice <<choice>>
state queued_choice <<choice>>
%% forks
state fork_state <<fork>>
create --> fork_state
fork_state --> cancel_process
fork_state --> decision_process
fork_state --> error_process
%% state diagram
%% Request job
[*] --> create
%% Run task
decision_process --> background_choice
background_choice --> working : No, start process in foreground
background_choice --> enqueue : Yes, enqueue in background
enqueue --> working : Start work
working --> completed : Completed - Success
working --> partial : Completed - Partial Success
completed --> [*]
partial --> [*]
cancel_process --> cancel_choice : Yes
cancel_choice --> queued_process
cancel_choice --> cancel_process : No, listen for cancel
queued_process --> queued_choice
queued_choice --> dequeued : Yes, dequeue job
queued_choice --> canceling : No, cancel work
canceling --> canceled : Completed - Canceled Work
dequeued --> canceled : Completed - Dequeued Job
canceled --> [*]
error_process --> error_choice : Yes
error_choice --> fail : Yes, Completed - Failure Error
error_choice--> error_process : No, listen for error
fail --> [*]
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Completed | state.completed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> added transcription to document. | description.document.transcription_success |
| Skipped | state.skipped | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> skipped transcription because document already transcribed. | description.document.transcription_file_already_transcribed_skipped |
| Skipped | state.skipped | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> skipped transcription because document type is not a supported. | description.document.transcription_file_not_supported_skipped |
| Failed | state.failed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error downloading document for transcription. | description.document.transcription_download_failed |
| Failed | state.failed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered unknown error transcribing document. | description.document.transcription_transcription_failed |
| Failed | state.failed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error transforming document for transcription. | description.document.transcription_transform_failed |
| Failed | state.failed | Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error uploading transcription. | description.document.transcription_upload_failed |
---
title: Audio Transcription
---
stateDiagram-v2
%% UX Text
completed : Completed
completed : Completed
completed.transcription_success : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> added transcription to document.
skipped : Skipped
skipped : Skipped
skipped.transcription_file_already_transcribed_skipped : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> skipped transcription because document already transcribed.
skipped : Skipped
skipped.transcription_file_not_supported_skipped : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> skipped transcription because document type is not a supported.
failed : Failed
failed : Failed
failed.transcription_download_failed : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error downloading document for transcription.
failed : Failed
failed.transcription_transcription_failed : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered unknown error transcribing document.
failed : Failed
failed.transcription_transform_failed : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error transforming document for transcription.
failed : Failed
failed.transcription_upload_failed : Job <CPY_TAG_LABEL>{{job_id}}</CPY_TAG_LABEL> encountered error uploading transcription.
results_process : Was the transcription successful?
%% choices
state results_choice <<choice>>
%% states
state completed {
completed.transcription_success
}
state skipped {
direction LR
skipped.transcription_file_already_transcribed_skipped
skipped.transcription_file_not_supported_skipped
}
state failed {
direction LR
failed.transcription_download_failed
failed.transcription_transform_failed
failed.transcription_transcription_failed
failed.transcription_upload_failed
}
%% state diagram
%% Request job
results_process --> results_choice
results_choice --> completed : Yes
results_choice --> skipped : No
results_choice --> failed : No
| Type | Type Key | Description | Description Key |
|---|---|---|---|
| Canceled | state.canceled | Process terminated by user successfully. | description.job.canceled |
| Completed | state.completed | Imported $t(users, {“count”: {{users}} }). | description.job.completed_import_users |
| Create | state.create | Mapped list of users | description.job.map_users |
| Create | state.create | Uploaded $t(users, {“count”: {{users}} }) | description.job.upload_users |
| Enqueue | state.enqueue | Waiting to be executed. | description.job.enqueue |
| Fail | state.fail | Job terminated unexpectedly. Open a customer support ticket and request assistance. | description.job.failed |
| Partially Completed | state.partial | Imported $t(users, {“count”: {{users}} }), deduplicated $t(users, {“count”: {{users}} }), and encountered errors importing $t(users, {“count”: {{users}} }). | description.job.partial_import_users |
| Working | state.working | Importing list of users | description.job.users_importing |
---
title: Import Users
---
stateDiagram-v2
%% UX Text
canceled : Canceled
canceled : Canceled
canceled.canceled : Process terminated by user successfully.
completed : Completed
completed : Completed
completed.completed_import_users : Imported $t(users, {"count" {{users}} }).
create : Create
create : Create
create.map_users : Mapped list of users
create : Create
create.upload_users : Uploaded $t(users, {"count" {{users}} })
enqueue : Enqueue
enqueue : Enqueue
enqueue.enqueue : Waiting to be executed.
fail : Fail
fail : Fail
fail.failed : Job terminated unexpectedly. Open a customer support ticket and request assistance.
partial : Partially Completed
partial : Partially Completed
partial.partial_import_users : Imported $t(users, {"count" {{users}} }), deduplicated $t(users, {"count" {{users}} }), and encountered errors importing $t(users, {"count" {{users}} }).
working : Working
working : Working
working.users_importing : Importing list of users
cancel_process : User pressed cancel?
error_process : Error encountered?
%% composites
state create {
create.upload_users --> create.map_users
}
state working {
[*] --> working.users_importing
working.users_importing --> [*]
}
state fail {
fail.failed
}
state canceled {
canceled.canceled
}
state enqueue {
enqueue.enqueue
}
state partial {
direction LR
partial.partial_import_users
}
state completed {
direction LR
completed.completed_import_users
}
%% choices
state cancel_choice <<choice>>
state error_choice <<choice>>
%% forks
state fork_state <<fork>>
create --> fork_state
fork_state --> cancel_process
fork_state --> decision_process
fork_state --> error_process
%% state diagram
%% Request job
[*] --> create
%% Run task
decision_process --> enqueue : Yes, enqueue in background
enqueue --> working : Start workx
working --> completed : Completed - Success
working --> partial : Completed - Partial Success
completed --> [*]
partial --> [*]
cancel_process --> cancel_choice : Yes
cancel_choice --> canceled
cancel_choice --> cancel_process : No, listen for cancel
canceled --> [*]
error_process --> error_choice : Yes
error_choice --> fail : Yes, Completed - Failure Error
error_choice--> error_process : No, listen for error
fail --> [*]

