Difference between revisions of "Itop 3.2 Mail Notifications"
From Notes_Wiki
Line 117: | Line 117: | ||
== Email Actions == | == 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). | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification to the agent when closed | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification to the Agent when Created | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification to the Agent when resolved | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification when Private log updated | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification when Public log updated | |||
<pre> | |||
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 | |||
</pre> | |||
* Notification When Public log updated from Portal | |||
<pre> | |||
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 | |||
</pre> |
Revision as of 10:09, 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:
- Person mentioned on Ticket
- 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:
- 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