Difference between revisions of "Itop 3.2 Mail Notifications"

From Notes_Wiki
Line 120: Line 120:
Actions define what will be done. In the current version of iTop, the only available kind of action consist in sending an email.
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
* Go to '''Configuration > Notifications > Email actions'''


* In the right corner, click on plus icon to create a new action
* In the right corner, click on '''plus''' icon to create a new action


=== New Mail actions ===
=== New Mail actions ===

Revision as of 10:12, 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).
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

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

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

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