Configure Archival Functionality in Service Request Applications using NITRO Workflows

Applies To: SharePoint Online

Note: For SharePoint On-Premises, please refer to the below article:
https://www.crowcanyon.help/article/316/

Description:

This article explains the steps to configure archival functionality for the ‘Tickets’ list in Crow Canyon Helpdesk application.

The steps explained in this article can also be followed to configure the same functionality for any other list.

Automatic archival process

The automatic archival process moves the tickets along with their associated items like tasks, etc. to a different list without breaking their relation using NITRO Workflows.

Summary of steps

  • Prepare the list schema so that old tickets/items can be moved along with their related items.
  • Configure NITRO Workflows to move the tickets.

Detailed Steps:

Prepare list schema:

  1. Save the following lists as template: Tickets, Email Tickets, Associated Tasks and Time Tracking.
  2. To save ‘Tickets’ list as template, navigate to the site -> Application Administration -> Click ‘Advanced’ -> Configure Lists -> ‘Configure Tickets’. From the Tickets list settings page, under ‘Permissions and Management’ section, click ‘Save list as template’ as shown below:

3. Provide the ‘File name’, ‘Template name’ and do not select the ‘Include Content’ option -> Click OK as shown below:

4. Similarly, save the other lists as template that are mentioned in #1 as ‘Archived Email Tickets’, ‘Archived Time Tracking’ and ‘Archived Associated Tasks’ respectively.

5. Create new archival lists from the above list templates.

6. To create ‘Archived Tickets’ list, navigate to ‘Site Contents’ -> Click ‘Return to classic SharePoint’ at the bottom left of the page (if the site is in modern experience) as shown below:

7. On the opened page, click ‘add an app’ -> Search for ‘Archived Tickets’ list template created in #3 above -> Click ‘Archived Tickets’ -> Create a list with this template as shown below:

8. Similarly, create ‘Archived Email Tickets’, ‘Archived Time Tracking’ and Archived Associated Tasks’ lists from the respective list templates.

Note: The idea behind creating Archived Email Tickets, Archived Time Tracking and Archived Associated Tasks lists is to move email history and related items along with the Tickets during archival process.

9. Configure NITRO Forms for each of these archival lists using ‘Export and Import’ feature of the NITRO Forms.

More information on how to use the export and import functionality of the NITRO Forms can be found in this article.

10. After creating all the archival lists and NITRO Forms, ensure that all the lookup columns in Archived Tickets list, Archived Email Tickets list, Archived Time Tracking list and Archived Associated Tasks list are correct.

11. Recreate below lookup column in archival lists: Archived Email Tickets, Archived Time Tracking and Archived Associated Tasks lists.

For Archived Email Tickets list:

  • Navigate to NITRO Forms designer for the list -> Create a NITRO Lookup column ‘Related Ticket ID’ as shown below:

Internal name: RelatedTicketID

Display name: Related Ticket ID

For Archived Time Tracking list:

  • Navigate to NITRO Forms designer for the list -> Create a NITRO Lookup column ‘Related Ticket ID’ as shown below:

Internal name: RelatedTicketID

Display name: Related Ticket ID

For Archived Associated Tasks list:

  • Navigate to NITRO Forms designer for the list -> Create a NITRO Lookup column ‘Related Ticket ID’ as shown below:

Internal name: RelatedTicketID

Display name: Related Ticket ID

12. Delete all the NITRO Associated Item columns (‘Time Tracking’, ‘Email History’ and ‘Associated Tasks’) from Archived Tickets list manually.

13. Recreate the NITRO Associated Item columns with the lookup columns created in #11. Navigate to the Archived Tickets list -> List settings -> Crow Canyon NITRO Forms -> Click ‘Create Column’ -> NITRO Associated Items Column.

14. Configure the ‘Time Tracking’ NITRO Associated Items column as shown below:

Column Internal Name: TimeTracking
Column Display Name: Time Tracking

15. Similarly, create ‘Associated Tasks’ and ‘Email History’ columns as shown below:

For ‘Associated Tasks’:
Column Internal Name: AssociatedTasks
Column Display Name: Associated Tasks

For ‘Email History’:

Column Internal Name: EmailHistory
Column Display Name: Email History

16. Drag and drop all the above NITRO Associated Items columns on to the NITRO Form under ‘Related Items’ tab.

Configure NITRO Workflows:
1. Navigate to the Tickets list -> List settings -> Crow Canyon NITRO Workflow -> Click ‘New’ -> Select ‘scheduled / user / bot triggered’ event -> Click Ok as shown below:

2. Click ‘Settings’ button from the ‘WORKFLOW’ ribbon -> Configure action settings as shown below:

Query builder conditions:

  • ‘Status’ ‘equal’ ‘Closed’
  • ‘Closed Date’ ‘less or equal’ ‘OffsetDays:-365’

3. Click ‘OK’. Expand ‘Actions’ section -> Drag and drop a ‘Move Item’ action on to the canvas -> Configure the ‘Move Item’ action settings as shown below:

4. Add associated list mappings as shown in the below table and screenshots:

Source ListTarget List
Associated Tasks – Related TicketArchived Associated Tasks – Related Ticket ID
Email Tickets – Related Ticket IDArchived Email Tickets – Related Ticket ID
Time Tracking – Related Ticket IDArchived Time Tracking – Related Ticket ID

5. Similarly, map the other 2 associated lists as shown below:

6. Publish the NITRO Workflow.

Manual Archival Process:

The automatic archival process moves the items only based on the ‘Closed Date’, that is, exactly 1 year after the ‘Closed Date’ of the ticket. So, the tickets are archived in a timely manner.

We can also configure the manual archival process to move tickets to the archived list in bulk at a time manually as explained below:

Summary of steps

  • Prepare the list schema
  • Configure a Custom Action
  • Configure a NITRO Workflow

Detailed steps:

Prepare the list schema to move old tickets along with their related items as per the below steps:

  1. The archival list schema is same as explained above for the automatic archival process. Additionally, create a ‘Yes/No’ column in the Tickets list as:

    Column Internal Name: ArchiveTickets
    Column Display Name: Archive Tickets

Configure a Custom Action:

1. Navigate to the Tickets list -> Click ‘Custom Actions’ from the list ribbon -> Click ‘New Custom Action’ button -> Select the ‘Tickets’ list -> ‘Designer’ experience -> Click ‘OK’ as shown below:

2. Click ‘Settings’ button from the ‘CUSTOM ACTION’ ribbon -> Configure action settings as shown below:

3. Click ‘OK’. Expand ‘Actions’ section -> Drag and drop an ‘Update List Item’ action on to the canvas -> Configure action settings as shown below:

Column mapping:
‘Archive Tickets’ -> ‘True’

4. Publish the Custom Action.

Configure the NITRO Workflow:

1. Navigate to ‘Tickets’ list -> Click ‘NITRO Workflow’ from the list ribbon -> Click ‘New’ button -> Select ‘Tickets’ list -> ‘Designer’ experience -> Select ‘an item is modified’ event -> Click ‘Ok’.

2. Click ‘Settings’ button from ‘WORKFLOW’ ribbon -> Configure the action settings as shown below -> Click ‘OK’:

3. Configure workflow conditions, click ‘Conditions’ from the ‘WORKFLOW’ ribbon and specifying the condition as:
Archive Tickets ‘equal’ afterchange:True

4. Expand ‘Actions’ section -> Drag and drop a ‘Move Item’ action on to the canvas -> Configure the ‘Move Item’ action settings as shown below:

Note: Refer to #3, #4 and #5 above from the ‘Configure NITRO Workflows’ section under automatic archival process and configure the associated list mappings.

5. Publish the NITRO Workflow.

Steps to archive the Tickets manually in bulk:

Navigate to the ‘Tickets’ list -> Select ‘Closed Tickets’ list view -> Select multiple tickets to archive -> Click ‘Archive Tickets’ custom action button from the list ribbon as shown below:

Note:
In the Archived Tickets list, the standard SharePoint columns like ‘Created, Created By, Modified, Modified By and ID’ are not copied from the Tickets List.
To view this information, there are additional columns in the Archived Tickets list:

  • CCSOriginalCreatedDate -> This column displays the original created date of the archived Ticket.
  • CCSOriginalModifiedDate -> This column displays the original modified date of the archived Ticket.
  • CCSVersionCreatedDate -> This column displays the original version created date of the archived Ticket.
  • CcsOriginalItemID -> This column displays original item ID of the archived Ticket.
  • CCSUnMappedColumnData -> This column stores the data of those columns that are not present in the Archived Tickets list but present in the actual Tickets list.