Serialnumber from e-mail


I’m looking for a way to match a serial number from an e-mail to a ticket i Autotask.

We get Fortinet renewals via mail and Fortinet is kind enough to remind us up to three times that the renewal needs to be handled and this creates a lot of tickets in Autotask.

In the e-mail from Fortinet the serial number is included, (“Product Serial Number: SDF123…”), so my question is if it’s possible to create a rule that looks for the serial number in a ticket with description “Attention: Your Fortinet Security Services Will Be Expiring Soon” and if there is a match update the ticket?

You could do this. Seems easy enough. You would just need to create rules to do :

  • Extract Serial Number from Title
  • Query Ticket Description.

It might be better though if you created the assets in AutoTask with the serial numbers in them. Then query these to narrow down your search. Otherwise its having to search every ticket description. Better if you can narrow down your search. Hence the assets. Also helps you keep records of the number of tickets against it making it neater.

Thank you @dale! Could you or @travis provide me with a step by step instruction on how to accomplish it?

Best regards //Fredrik

Can you post a copy of a sample email. With couple of digits of the serial changed. That way know what I am looking at.

Absolutely! Here is the sample:

Dear Fortinet Customer,

Our records show that one or more of your Fortinet services will expire in the month of Jul, 2024.

To renew your subscription service(s), please contact your Authorized Fortinet Reseller.

Reseller: Cynaps AB

If the above company is no longer your Authorized Reseller please login to the Fortinet Support Portal and update your partner information.

During this renewal period take the opportunity to upgrade to our latest protection offer, the FortiGuard Enterprise Bundle. Giving you the highest level of support, this comprehensive bundle includes the broadest protection to address today’s advanced threats in one cost-effective package. Your reseller can provide further information about our offers.

Company Name: Customer AB
Phone Number: +46 123456
E-Mail Address:
Reseller: Cynaps AB
Product Description: HQ-FGT40F
Product Serial Number: FGT40FTK1111XYZABC

Model: FortiGate 40F

  • Please be aware that any lapse in service will require coverage be renewed back to the contract expiration date

Product Support Coverage

Support Type Support Level Expiration Date

Hardware Coverage Advanced HW 2024-07-12
Firmware & General Updates Web/Online 2024-07-12
Enhanced Support Premium 2024-07-12
Telephone Support Premium 2024-07-12
Advanced Malware Protection Web/Online 2024-07-12
FortiGuard IPS Service Web/Online 2024-07-12
FortiGuard URL, DNS & Video Filtering Service Web/Online 2024-07-12
FortiGuard AntiSpam Web/Online 2024-07-12

Login into the Fortinet support portal at to view details of your registered products at any time.

If you require further Support Portal related assistance, please contact

If you are experiencing problems contacting your Reseller for renewal, please contact us at

Thank you for choosing Fortinet,

Fortinet, Inc

So you need to extract the information you want to lookup first. So in the email you have the serial number in the format below:

Product Serial Number: FGT40FTK1111XYZABC

From the way its formatted you can just extract the contents using:

{{after_string email.body "Product Serial Number: " flags=“tn”}}

Note the space after the :

Now you have the serial number you can look for those tickets to see if one is open. if you were to use assets and have a field within there for the serial then it would be easier to query.

But in the example below I am using the serial number saved as an earlier variable to look for tickets not equal to complete with the serial number in the Ticket description.

If you stored the serial number within the Asset or even within a ticket UDF you could look up this value.

Then you can simply tell it to put the update on it.

1 Like

Thank you @dale! It is a bit clearer but can you show me the step on how I update the ticket with the information from global.ticket? Any reason for using global instead of custom variable?

Is the order of steps ok or am I missing something?
Step 1: Extract Fortigate Serialnumber → global.SerialNumber
Step2: Find Ticket with Fortigate Serialnumber → global.Ticket
Step3: Update existing ticket and here I am lost…
Step4: Create new ticket
Step5: Heavy Metal and Beer?

Best regards //Fredrik

It would be something like this.That would create a ticket note within the ticket with the body of the email that has been received.

You could then do a ticket status change to update the status of the ticket.

You can use custom or global. The difference is that Global variables exist from one rule to another. Custom only exist within the same rule.

Thank you @dale :smiley:

1 Like