### Servicem8 personal dashboard

Project is to create a simple task list style dashboard for each staff member which is clean and shows them what tasks they need to tend to in a less cluttered way then the default full ServiceM8 user interface and “dispatch board”.

Initially there may only be one actionable queue for each staff member - but we may update this later to have multiple queues/lists for each staff member, maybe organised by date that it arrived for them

We will also likely want to add the ability for staff to send/transfer any individual task to another staff member.

- Reference the ServiceM8 webhooks documentation as that is how our system will subscribe to event changes - https://developer.servicem8.com/docs/webhooks-overview
  - We will subscribe to certain events that we want to know about
  - This means we will need a webhook server listening which will initiate the operation on our end. (tech and platform to be decided, but needs to be lightweight and timely)
- (This is the process which is triggered following the webhook notification)  
  We will then need to retrieve details relating to the update using the REST API which can be referenced at - https://developer.servicem8.com/docs/rest-overview
  - We will query this service when we receive webhook notifications for the full details
  - When using the REST API, filters will need to be URL encoded/escaped before sending them
- Following this retrieval, the whole task assignment process (or task change process) will be guided from a workflow document which details  which state change results in where/who the task should be assigned to.
- We will likely need to initially (on first start up or initiation) pull the details of all objects that we are interested in monitoring in order to do the state change analysis - so that we know what state the object was in and what it has changed to - we need this to understand and then act depending on the change.
- We will need a lightweight DB storage for backend job, activity, quote, audit trail etc.
- Task lists will be populated with the jobs or tasks or quotes that have come from the one ServiceM8 account
- We WILL NOT push any changes back to the ServiceM8 account at this point - we are an external repo only!
- 