Incident Management Application
Objective
Incident management is a procedure that aids in the
restoration of normal service operations as soon as possible.
We are creating two canvas app one is Employee App and Agent
App.
·
Employee can Login, Add the incident and View
the Dashboard.
·
Agent App is used by Agents to view all the
incidents and according to the set SLA’s Agent can change the priority and
update the Status of the incident. Agent can also view the graphical
representation to check the insights.
Process of Incident Management App
• Detection and recording of incidents
• Understanding the details of the incident context
• Communication and reporting on incidents (reporting is mainly done by reporter and communication is between support team and reporter)
• Priority Classification and initial assistance (classifying the severity of the incident, i.e. prioritizing tasks based on their impact on the business)
• Research and analysis (To understand the RCA and analysis of the patterns that may lead to the incident)
• Resolution and documentation (For example, fixing network errors, replacing hardware, and renewing licenses). Maintaining records is essential for staying organized.)
• Incident closure, ownership, monitoring, tracking, and communication of incidents
• Create an incident management framework.
• Assessment of incident framework management.
Database: -
We have to create three tables: -
1.)
Employee Table: -
a.
Employee Code -
b.
Employee Name
c.
DOJ
d.
Is Agent
e.
ID
f.
Created
g.
Created By
h.
Incident Category
i.
Incident Subcategory
j.
Priority
k.
Status
l.
Incident Description
m.
Incident Image
2.)
Agent Table: -
a.
Employee Code
b.
Employee Name
c.
DOJ
d.
Is Agent?
e.
Incident ID- Lookup with Employee table
f.
Created By
g.
Created On
h.
Incident category
i.
Incident Sub Category
j.
Incident Description
k.
Priority
l.
Status
m.
Incident Image
3.)
Incident: -
a.
Incident Category
b.
Incident Sub Category
We have created three tables for
this Incident App and we have interlinked them.
Linking of Data between Apps
We have used Power Automate flow to update data between the
apps.
Flow 1: Once the employee is submitting the incident in the
Employee Incident App the data will be used from Employee Database and Posted
in the Agent Database and that will be updated in the Agent Dashboard.
POST:
-
·
{"source":"la-draft-clipboard","value":[{"tokenKey":"C117CDB3-6097-4541-A63F-C594B8A4A4B4","type":"enum","tokenExpression":"EmployeeIncidentTracker","token":{"title":"EmployeeIncidentTracker"}}]}
·
{"source":"la-draft-clipboard","value":[{"tokenKey":"12B0003B-97B2-4CFC-B18C-305C3E7B0A9C","type":"enum","tokenExpression":"POST","token":{"title":"POST"}}]}
Flow 1: Once the Agent is updating the incident in the Agent
Incident App the data will be used from Agent Database and will be patch to the
Employee Database as with the reference to the IncidentID and that will be
updated in the Employee Dashboard.
PATCH: -
·
{"source":"la-draft-clipboard","value”:
[{"tokenKey":"5004AE2C-4A47-4359-A793-DE4C9393BC80","type":"enum","tokenExpression":"AgentIncidentTracker","token”:
{"title":"AgentIncidentTracker"}}]}
·
{"source":"la-draft-clipboard","value”:
[{"tokenKey":"60156AD2-5331-4953-8FD2-B1D776D3F429","type":"enum","tokenExpression":"PATCH","token”:
{"title":"PATCH"}}]}
Employee Incident App
In this, we will create a canvas app tablet view in which we
will take a Gallery and add the incident, and in the dashboard, we will be able
to see the data that we recently added.
·
Header gallery
·
Gallery to display the data
·
Textbox for search
·
Add incident Button
·
Design colour and Rectangle with different
colours.
On Log in Screen
On Login Button: - Set(UID,TIUserName.Text);Set(VarEName,LookUp(ListLogin,UID=Title,EmpName));If(!IsBlank(LookUp(ListLogin,Title=TIUserName.Text
And
Password=TIPassword.Text).Title),Navigate(SecondScreen,ScreenTransition.None),UpdateContext({VarShowError:
true }))
ShowButton:- Disabled
Colour, pressed colour, Hover colour, border and colour is transparent.
TIPassword Text Input Box:- If(ShowButton.Pressed,SingleLine,Password)
View Icon:- On Icon property :- If(ShowButton.Pressed,
Icon.View,Icon.Hide)
On Dashboard Screen
:-
Open:- CountRows(Filter(EmployeeIncidentTracker,Status.Value
= "Open"))
Closed:- CountRows(Filter(EmployeeIncidentTracker,Status.Value
= "Closed"))
Awaiting confirmation:- CountRows(Filter(EmployeeIncidentTracker,Status.Value
= "Awaiting confirmation"))
On Hold:- CountRows(Filter(EmployeeIncidentTracker,Status.Value
= "On Hold"))
On Gallery:-
SortByColumns(Filter([@EmployeeIncidentTracker],StartsWith(Title,SerchTextBox.Text)),"ID",Descending)
View Button :- Navigate(ThirdScreen,ScreenTransition.None,{LocalVarNav:ThisItem.ID})
Delete Button: -
Select(Parent);UpdateContext({VarPopUp:true})
Three in one form :-
This is Three in one form, where we can Add a new incident,
Edit it and View it.
Screen OnVisible :- UpdateContext({LVarRecSub:LookUp(EmployeeIncidentTracker,ID=LocalVarNav)})
Form DataSource:- EmployeeIncidentTracker
Form OnSuccess :-
UpdateContext({LVarRecSub:FormThreeInOne.LastSubmit});
UpdateContext({LVarEdit:false})
Item:- LVarRecSub
Default Mode:- If(LVarEdit,If(IsBlank(LVarRecSub),FormMode.New,FormMode.Edit),FormMode.View)
Reset Button :- ResetForm(FormThreeInOne)
Edit Button:- UpdateContext({LVarEdit:true})
Save Button:- SubmitForm(FormThreeInOne);Notify("Your
Record has been saved",NotificationType.Success); Navigate(SecondScreen)
Agent Incident App
Agent Incident App will help us view all the incident raised
by Employees for Any Hardware or Software/Service Issue. To display data on the
screen we have used
·
Header gallery
·
Gallery to display the data
·
Textbox for search
·
View Incident
·
View Dashboard
·
Buttons and Icons to Bifurcate on Incident
Category
·
Data Cards to view Count of Incident by Status
The incident will be Handled by agent until closed and Agent
has the access to change the Priority and Set Status as per Resolution and
SLA’s
On Dashboard Screen
On Items of
Gallery Display- If(
!IsBlank(LvarFilterByFilter),
Search(
Filter(
AgentIncidentTracker,
IncidentCategory =
LvarFilterByFilter
),
seachQuery,"IncidentSubCategory"
),
IsBlank(LvarFilterByFilter),
Search(AgentIncidentTracker,seachQuery,"IncidentSubCategory"),
AgentIncidentTracker
)
To Count the
Values of Status: CountRows(Filter(AgentIncidentTracker,Priority.Value =
"Low"))
To Filter
Content by Clicks on Buttons as per category: CountRows(Filter(AgentIncidentTracker,IncidentCategory="Hardware"))
On Select of
Item: The Form is getting displayed which will display the incident Details by
UpdateContext({ImgVisible:true,ImgValue:ThisItem})
And Container
is getting Visible by ImgVisible
On Select of View
Dashboard : UpdateContext({BIVisible:true})
On on BI Tile
Visible: BIVisible
This is how we have created separate applications for EmployeeApp
and AgentApp, Both applications have their own databases
, mirror versions of the same Entities. On save of new Incident request in the
EmployeeApp, created the Same record in the Agent App as well using POST concept.On update of the request status in
the AgentApp, update the same record in EmployeeApp using Patch.Kept a Unique
identifier between both Applications “Incident” tables to identify correct
records for operations.
Thank you for reading!
Comments
Post a Comment