Difference between revisions of "Itop 3.2 Mail Notifications"

From Notes_Wiki
Line 139: Line 139:
  '''Name''': Notification to the agent when assigned
  '''Name''': Notification to the agent when assigned
  '''Status''': In production
  '''Status''': In production
'''Subject''': The ticket $this->ref$ has been assigned to this agent  
'''Subject''': The ticket $this->ref$ has been assigned to this agent  
  '''Body''':  
  '''Body''':  
  The ticket $this->name()$ has been assigned to the agent: $this->agent_id >friendlyname$
  The ticket $this->name()$ has been assigned to the agent: $this->agent_id >friendlyname$

Revision as of 10:49, 19 July 2025

Home > Ubuntu > Ubuntu 22.04 > Ubuntu 22.04 Itop 3.2 by Combodo > itop 3.2 Mail Notifications

Triggers

Triggers define when notifications have to be sent. Example: when a ticket reaches the state “assigned”.

Create Triggers

  • Go to Configuration > Notifications > Triggers
  • The below are the Default triggers:
  1. Person mentioned on Ticket
  2. Person mentioned on User
  • In the right corner, click on plus icon to create a new trigger

New triggers

  • Trigger when a Request is assigned
Trigger (on entering a state)

Description:  Trigger when a Request is assigned 

Target class:  User Request 

State: assigned 

Subscription policy: Allow complete unsubscription 
  • Trigger when a Request is closed
Trigger (on entering a state)

Description:  Trigger when a Request is closed

Target class:  User Request

State: closed

Subscription policy: Allow complete unsubscription 
  • Trigger when a Request is created
Trigger (on object creation)

Description:  Trigger when a Request is created

Target class:  User Request

Subscription policy: Allow complete unsubscription 
  • Trigger when a Request is resolved
Trigger (on entering a state)

Description:  Trigger when a Request is resolved

Target class:  User Request

State: resolved

Subscription policy: Allow complete unsubscription 
  • Trigger when log update from the portal
Trigger (when updated from the portal)

Description: Trigger when log update from the portal 

Target class: User Request

Subscription policy: Allow complete unsubscription 

Download Send updates by email extension

This extension allows to send an email when updating the case log (either the public log or private log) of a Ticket. Email reply works with any type of Ticket.

  • Go to iTop Hub > Get extensions from iTop Hub

NOTE: We need to register our iTop instance to access the itop store

  • Give the username and password
  • Search for the extension
  • On the extension page, on the right side, click on shop kart icon to download the extension
  • follow the on-screen steps to install the extension
  • once installed, we can find the extension in the following path:

iTop Hub > Deployed extensions

  • The extension comes with the following trigger:
  1. User Request public log update
  • create another trigger for private log update
  • User Request private log update
Description:  User Request private log update 
Target class:  User Request 
Context: Console
Log attribute code:  private_log

Reference: https://www.itophub.io/wiki/page?id=extensions:installation

Email Actions

Actions define what will be done. In the current version of iTop, the only available kind of action consist in sending an email.

  • Go to Configuration > Notifications > Email actions
  • In the right corner, click on plus icon to create a new action

New Mail actions

Notification to the agent when assigned

  • This mail action sends the mail when a user is assigned to a ticket (user request).
  • This mail goes to the following:
  1. The agent who is assigned
  2. The caller who raised the request
  3. The persons who are included in the <mail-id> tag
  4. The contacts of a service
  5. The team member (team lead) of a team
  6. The contacts of the request
Name: Notification to the agent when assigned
Status: In production
Subject: The ticket $this->ref$ has been assigned to this agent 
Body: 
The ticket $this->name()$ has been assigned to the agent: $this->agent_id >friendlyname$
Title: $this->title$ 
Description: $this->description$ 
Related Triggers: Trigger when a Request is assigned
From (email): <mail-id>
Ignore the Notify flag: Yes
To: SELECT Person WHERE id = :this->agent_id OR id = :this->caller_id
Cc:
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification to the agent when closed

  • This mail action sends the mail when the ticket (user request) is closed
  • This mail goes to the following:
  1. The agent who is assigned
  2. The caller who raised the request
  3. The persons who are included in the <mail-id> tag
  4. The contacts of a service
  5. The team member (team lead) of a team
  6. The contacts of the request
Name:  Notification to the Agent when Closed 

Status: In production

Subject:  The ticket $this->ref$ has been Closed. 


Body:

The ticket $this->name()$ has been Closed. 

Title: $this->title$

Description: $this->description$

Related Triggers: Trigger when a Request is closed

From (email): <mail-id>

Ignore the Notify flag: Yes

To:
SELECT Person WHERE id = :this->agent_id OR id = :this->caller_id


Cc:
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification to the Agent when Created

  • This mail action sends the mail when a user is assigned to a ticket (user request).
  • This mail goes to the following:
  1. The caller who raised the ticket
  2. The persons who are included in the <mail-id> tag
  3. The contacts of a service
  4. The team member (team lead) of a team
  5. The contacts of the request
Name: Notification to the Agent when Created

Status : In production

Subject: The ticket $this->ref$ has been created 

Body:

The ticket $this->name()$ has been created. 

Title: $this->title$

Description: $this->description$ 

Related Triggers: Trigger when a Request is created

From (email): <mail-id>


To:
SELECT Person WHERE id = :this->agent_id OR id = :this->caller_id

Cc:
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification to the Agent when resolved

  • This mail action sends the mail when a user is assigned to a ticket (user request).
  • This mail goes to the following:
  1. The agent who is assigned
  2. The caller who raised the ticket
  3. The persons who are included in the <mail-id> tag
  4. The contacts of a service
  5. The team member (team lead) of a team
  6. The contacts of the request
Name: Notification to the Agent when resolved 
Status: In production
Subject:  The ticket $this->ref$ has been resolved
Body:
The ticket $this->name()$ has been resolved.
Title: $this->title$ 
Description: $this->description$
Related Triggers: Trigger when a Request is resolved
From (email): <mail-id>
Ignore the Notify flag:  Yes
To:
SELECT Person WHERE id = :this->agent_id OR id = :this->caller_id
Cc:
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification when Private log updated

Name:  Notification when Private log updated 

Status: In production

Subject: Ticket updated by $current_contact->friendlyname$


Body:

Hello,

The ticket $this->ref$ has been updated by **$current_contact->friendlyname$** ($current_contact->email$).

**Update Summary:**

$this->head(private_log)$ 

Related Trigger: User Request private log update

From (email): <mail-id>

Ignore the Notify flag:  Yes


To:
SELECT Team WHERE id = :this->team_id

Cc:
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification when Public log updated

Name: Notification when Public log updated

Status: In production

Subject: Ticket $this->ref$ updated by $current_contact->friendlyname$


Body:

Hello,

The ticket $this->ref$ has been updated by **$current_contact->friendlyname$** ($current_contact->email$).

**Update Summary:**

$this->head(public_log)$ 

Related Triggers: User Request public log update

From (email): <mail-id>

Ignore the Notify flag: Yes


To
SELECT Person WHERE id = :this->caller_id OR id = :this->agent_id

Cc
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<Mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref

Notification When Public log updated from Portal

Name: Notification When Public log updated from Portal

Status: In production

Subject: Ticket updated (via Portal) 

Body:

Hello,

The ticket $this->ref$ has been updated. See the latest update below:

 

Update Summary:

$this->head(public_log)$ 

Related Triggers: Trigger when log update from the portal

From (email): <mail-id>

Ignore the Notify flag: Yes


To:
SELECT Person WHERE id = :this->caller_id OR id = :this->agent_id

Cc:
SELECT Contact AS C
JOIN lnkContactToService AS L ON L.contact_id = C.id
WHERE L.service_id = :this->service_id
UNION
SELECT Contact WHERE email = '<mail-id>'
UNION
SELECT Contact WHERE email = '<mail-id>' AND :this->team_id = '<team-id>'
UNION
SELECT c
FROM Contact AS c
JOIN lnkContactToTicket AS l ON l.contact_id = c.id
JOIN UserRequest AS ur ON l.ticket_id = ur.id
WHERE ur.ref =:this->ref