Home Community Uploads
image

Cireson Partners, Customers and Community members share your customizations and examples here to help benefit the community as a whole to earn Kudos and badges.

DISCLAIMER

All files and projects located here are provided and come "as-is" and without any warranty or support. Use at your own risk. Your use of Community Uploads is subject to our Terms of Use.

Cireson does not and will not support or maintain these enhancements, extensions, and scripts.

For Team Cireson uploads click here.

An SMlets based Exchange Connector

Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
edited May 2017 in Community Uploads
Call me crazy, but the idea of replacing the stock Exchange Connector with one written entirely in PowerShell leveraging the community built SMlets and adding some Cireson based functionality seems like a worthwhile endeavor. And with that said -

I cannot preface the following enough:
  • This is has only been tested in a development capacity. Know what you're getting into by trying this!
  • This has only been tested against an on-premise Exchange server, but I honestly can't imagine how 365 is all that different given...
  • This is using the identical Web Services API as required by the stock Exchange Connector (EWS API 1.2)
  • It would probably make a great deal of sense to SMA/Azure runbook this and then inline script against your Workflow server
  • I believe I have reproduced all functionality of the connector (v3.1), but it is entirely possible I've overlooked something

If this proves of benefit, you find a bug, see something that could be written cleaner/better, by all means please comment and/or re-share! As such, all 60kb of this has been published onto GitHub. I hope this provides a framework for you to innovate further on within your respective organizational processes.


The fun stuff - things this does, that the stock connector doesn't:
Minimum File Attachment Size
You can set a minimum size in KB. In doing so, files less than the defined size will not be added to the work item (i.e. corporate signature graphics won't be added)

File Attachment "Added by"
When an email is sent with attachments, the "File Attachment Added By User" relationship will be set based on the Sender if the user is found in the CMDB

Incident, Service Request, Change Request, Problem
[Take] - When emailing your workflow account, it will assign the Incident, Service Request, Change Request, or Problem to you (from address) when this keyword is featured in the body of the email.

Incident, Problem
[Reactivate] - When submitted to a Resolved Incident, it will be reactivated. When submitted to a Closed Incident, a New Incident will be created and the two related to one another.

Change Request
[Hold] - Place the Change Request On-Hold when this keyword is featured in the body of the email
[Cancel] - Cancel the Change Request when this keyword is featured in the body of the email

Manual Activity
[Skipped] - Skip the activity when this keyword is featured in the body of the email
Misc - Anyone who is not the implementer will have their email appended to the "Notes" area of the MA
If the Implementer leaves a comment that is not [Skipped] or [Completed] the comment is added to the highest level Parent Work Item

Review Activity
Any reviewer who leaves a comment that doesn't contain [Approved] or [Rejected] will have their comment added to the highest level Parent Work Item. This addresses a scenario where users not familiar with SCSM (i.e. departments outside of IT) respond back to the email thinking someone is reading the message on your workflow account. Now their comments aren't simply lost, but instead given the visibility they deserve!

Incident and Service Request
#private - When the message is attached to the action log, it will be marked as private if #private is featured in the body of the message.

Assigned To/Affected User relationships on the Action Log
When someone who isn't the Assigned To/Affected User leaves a comment on the Action Log the comment's "IsPrivate" flag is marked as null (this is a bug in the EC that has yet to be addressed by Microsoft). As such Cireson's Action Log Notify has no qualifier to go of off. With this script, the same functionality is present but now can be altered to get in line with SCSM and Cireson's MP. You can read more about this bug here from @Joe_Burrows and/or @chris_keander here.

Search HTML Knowledge Base
If enabled, your respective Cireson Portal HTML KB will be searched when a New Work item is generated using its title and description. The Sender will be sent a summarized HTML email with links directly to those knowledge articles about their recently created Work Item using the Exchange EWS API defined therein. As an example email, I've included an email body that features a [Resolved] and [Cancelled] link should the Affected User wish to mark their Incident/Service Request accordingly in the event the KB addresses their request. It should be noted, this is using the Cireson Web API to get KB through a now deprecated function. While this works, it goes without saying if Cireson drops this in coming versions it would cease to work. It has been tested and confirmed working with v7.x


What's next (besides maybe another version):
Schedule Work Items - When sending a calendar appointment to your workflow account about a Work Item, Scheduled Start/End times will be set accordingly and Affected User/Assigned To will be sent respective meeting invitations. That'd be cool. Right? Maybe? No?
Cireson Asset Management - It feels like there are a ridiculous amount of possibilities around updating Purchase Orders, Vendors, Licenses, etc.
Help - The idea of emailing the connector [help] to retrieve Knowledge Articles based on the email body seems like an interesting way to interact with SCSM. Not sure how useful this actually is.
Status - The idea of emailing the connector something along the lines of [status] or [health] to get the current Status of a SCSM Work Item, Health of a SCOM Distributed Application, etc. seems like an interesting way to interact with System Center at large and would only continue to make SCSM the central hub of the System Center suite. What's more, would introduce some bot like/Cortana-esque capabilities
Logging - Leverage the current Exchange Connector's registry key to introduce various levels of Windows Event Log logging, but make the descriptions far more decipherable and parametrized for future PowerShell based searches in the event deep troubleshooting is required



Finally - I have to mention @Leigh_Kilday, @Martin_Blomgren, @Tom_Hendricks, and @Brian_Wiestfor your contributions and reviews in helping create this early working version in your respective free time. You have my thanks gentlemen. And of course the developers at Cireson as portions of this simply just aren't possibly without your very awesome work.
«1345678

Comments

  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited August 2017
    Added two new features that are now available on the GitHub repo.

    • Merge Email Replies: Someone emails your workflow account and several others. A person in the chain Replies All. As a result, the Exchange Connector on its next sync creates two new default work items. This new feature will now write the Exchange Conversation ID into the Description of the File Attachment, enabling "Get-SCSMObject -Filter" to quickly query on the data and allow replies to be merged into the correct Work Item instead of creating duplicates whether it be during the current or previous processing loops
    • Schedule Work Items: Now you can book calendar appointments with your workflow account that will set the Scheduled Start/End time of the work item. Appointments can be re-scheduled which in turn update the calendar and work item respectively. In addition, if you're leveraging the Cireson Outlook Console to schedule reminder's on work items this now enables you to CC your workflow account and thus update its calendar and set the scheduled start/end times on the work item. This also applies to wholly new work items as well, so booking appointments with the workflow account will still create new default work items and set their scheduled start/end dates in addition to the creation. Finally, the Action Log is updated based on who scheduled the work item (Analyst/End User) and marking the comment as isPrivate = $false so as to automatically notify the other party per Cireson's Action Log Notify.

    I think Schedule Work Item here opens up a lot of interesting possibilities around getting back to Affected Users (i.e. setting internal expectations, modifying SLOs, creating Skype meetings, etc.), inventing new automation opportunities for SCO/SMA, and of course continuing to leverage Cireson specific features that key off of the Scheduled Start/End dates respectively for things like Cireson's Outlook Console, Change/Release Request Calendars, and Portal Calendars.
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited November 2017

    The next version is now live on GitHub and with it, more features:

    • SCOM integration: Now configurable authorized users/groups can interact with Operations Manager to retrieve Distributed Application Health and Alert count. Just request the [health] in the subject and the [Distributed Application] in the body of your email
    • Cireson Portal Task, Send Outlook Meeting: I'm a bit biased, but I really liked the previous versions "Schedule Work Items" feature. To make this experience even more seamless, a new Cireson Portal task is available on Work Items to kick open your local email client with pre-formatted Attendees and [Work Item] in the Subject (generates an *.ics file)
    • Search Available Requests: Much like the Search Cireson Knowledge Base function, this feature will parse the inbound messages and email back a list of relevant request offerings within that user's Service Catalog Scope using the Cireson web portal API. If you're using this feature in addition to the Knowledge Base feature, this will combine results into a single email
    • Digitally Signed/Encrypted emails: Thanks to the open source MimeKit project, processing digitally signed or encrypted messages is now possible. Just place the necessary certificate in the Local User/Local Machine store and you're ready to go
    • Announcement integration: Maybe your users don’t read all of your Service Manager emails, so you use Announcements on the Cireson SCSM Portal. Maybe your users don’t live on the Cireson SCSM Portal, so you use Cireson's SCSM Ticker App. Maybe you just aren't using announcements altogether and instead just sticking with emails...I just got a feeling of deju vu. The point is you must pick and tailor these disjointed experiences to cover all of your announcement bases. This new feature of the connector now enables the ability to email or schedule meetings with the connector that will create/update either SCSM Announcements and/or Cireson SCSM Portal Announcements from your email client of choice with the new [announcement] keyword. Cireson Portal customer? The connector will create announcements for each group discovered on the message. Need to set the Priority? Just tag the message with an additional #low or #high

    The Announcement feature opens up new automation avenues for SCO/SMA that can trigger emails in response to various Work Items that dynamically create announcements and their respective priority while fully integrating with core System Center and Cireson platforms.

  • Brett_MoffettBrett_Moffett Cireson PACE Super IT Monkey ✭✭✭✭✭
    @Adam_Dzyacky
    This is pure genius!
    I'll certainly be spreading the word about this to people who want to try it out in their environments. Being an open source unsupported solution might be a show stopper for some, but I know of many who want some of this functionality so bad, they wont care.
    Great work good sir.
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    ...
    Being an open source unsupported solution might be a show stopper for some, but I know of many who want some of this functionality so bad, they wont care.
    ...
    You are absolutely correct about both parts of that statement, @Brett_Moffett, but I want to address that group that is somewhere in the middle, looking at the pros and cons and comparing them to their own risk profile and requirements. 

    We are one of those places that would normally see the lack of support and the fact that it is open source as showstoppers, but we are implementing this script.

    The Exchange Connector simply cannot provide the same functionality as "most other" ITSM platforms.  The number of "the old system did that, why can't this one" comments and the HUGE performance impact caused by having to (i.e. actual business requirements) support a large number of distinct mailboxes put the Exchange Connector as the root cause of many issues we currently experience with SCSM.  It just doesn't scale--Microsoft verbally stated 15 as the maximum number anyone should attempt to run, and it is necessary for us to run more than 3x that number to meet our requirement.  If I replace all of those Exchange connectors with this single script running once every ~5 minutes, I can still monitor all of those mailboxes but without reducing my primary management server to paperweight status and breaking other workflows, etc. 

    As for the "other system" functionality, one example that Adam added early on was the [take] keyword, which lets someone self-assign to a ticket via e-mail.  Basic stuff, but it is non-existent in the Exchange Connector.  One of the great things about this script is that PowerShell is the only limitation to other functionality that one would like to add, and "limitation" does not often appear in the same sentence as "PowerShell."

    Finally, I would add that the "lack of supportability" argument is easier to mitigate when one realizes that this script is primarily made up of other PowerShell modules and EWS, which are supported.  What about the open-source SMLets which are not supported, you ask?  There is a version of this script that utilizes the OOB Service Manager cmdlets instead of SMLets, for those who are more comfortable with that arrangement or prefer using them in SCORCH runbooks, for example.

    I know that this will not match everyone's experience or address all concerns, but there is a lot to gain from leaving the Exchange Connector behind for this, and the "cost" is very low in my situation.  If these examples seem similar to your own situation, I hope I have added something meaningful to your decision-making process.
  • Jerrett_FergusonJerrett_Ferguson Customer IT Monkey ✭
    Tom, We're in the same boat as you.  We currently have 60 Exchange Connectors running in SCSM 2012 R2 and the performance hits from that many connectors running every ten minutes is finally starting to bite us. 

      It just doesn't scale--Microsoft verbally stated 15 as the maximum number anyone should attempt to run, and it is necessary for us to run more than 3x that number to meet our requirement.  If I replace all of those Exchange connectors with this single script running once every ~5 minutes, I can still monitor all of those mailboxes but without reducing my primary management server to paperweight status and breaking other workflows, etc. 


    Can you provide a little more instruction on how you use the script to monitor multiple mailboxes?  Or do you mean you would have a scheduled task running a specific script for each mailbox to be monitored?  So if I have 60 mailboxes to be monitored(our accounts live in O365 and we don't do impersonation), I'd have 60 scheduled tasks and 60 separate scripts?  I'm still digging through the script and I'm still figuring out how to implement it.   
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    Sure!  I have modified a copy of Adam's script with an optional additional feature.  I will share the modification soon so it can be considered for merging with the rest of the script.

    In my test environment, all of my mailboxes have redirection rules to send their mail to a single, "central" mailbox.  By redirecting instead of forwarding, all of the header information is preserved as originally written, and the script can read which mailbox the message was originally sent to.  In the script configs, I specify the name of an SR template and an IR template to apply for messages that were sent to them, in a hashtable.  When the script reads the messages from the inbox of the "central/main" mailbox, it looks for a matching address in this list of templates.  If it finds a match, it uses the templates for that mailbox.  If it does not find a match, it just uses the defaults.

    As an example, if I send a message to team1Mailbox@company.com that redirects its mail to serviceManager@company.com, the script will see that the message was sent to team1Mailbox@company.com, check the configs and apply the appropriate template that all messages received by team1Mailbox@company.com should get.  (if there was no match, it would have applied the default template, sending the ticket to the service desk, in my case).

    More importantly, I am only running one script against one mailbox, but I still have 50 unique mailboxes that get their own templates and appear to operate independently.  In my particular case, I am running the script in SMA so that my calls to Exchange do not burden it.  In a clean environment with no load on it, the script runs in about 1-2 seconds, whether it processes messages or not.

    This is working in my QA environment so far, and I hope to share it in the next few days.  It is actually a very small modification to what Adam wrote, IMO.
  • Jerrett_FergusonJerrett_Ferguson Customer IT Monkey ✭
    I would love to get ahold of your modified script.  That's exactly what I've been wanting to do in our environment as a replacement for our 60 Exchange Connectors, but I didn't know how to implement it.  Please let us know when you've updated that.  Thanks!
  • Nick_FlintNick_Flint Customer Advanced IT Monkey ✭✭✭
    This looks great. Does it handle SR Acknowledgments?
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭

    Hey @Nick_Flint - looks like it isn't there but I've created an issue on GitHub to get it added into the next version as it's a rather simple addition. If you can't wait, I've also updated the issue to include how you could modify the current version to support this with a simple copy and paste of a single line.

  • Mike_StormsMike_Storms Customer Adept IT Monkey ✭✭
    Hi All, This sounds cool.... Is there a way to create a template easily in O365 so certain fields are captured in the description of the email? We want the user to provide certain information in a uniform fashion....
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited January 2018
    Hey @Mike_Storms, messaged you to get some additional clarity around this.
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited February 2018
    Ready. Set. GitHub.
    Now live on the master branch is version 1.4 of the connector:

    • Two GitHub contributors are better than one: @Tom_Hendricks has recently been added as a contributor to the repository. Tom brings with him a host of features, enhancements, and new ways to show what's possible with the SMlets Exchange Connector in this latest version.
    • Vote on Behalf of Active Directory Groups: The connector can now optionally process Active Directory Groups featured on Review Activities. Now when a member of the AD group either approves or rejects the vote, their vote will be counted on behalf of the group through the "Voted By" relationship and their comment appended to the vote accordingly.
    • Create Problems or Change Requests: One of the limitations of the stock connector is that you can only create two types of Work Items, Incidents or Service Requests. But now it's possible to create either Problems or Change Requests in addition to these previous Work Item types as the New Default Work Item.
    • This Old Work Item: A gap in the stock connector is that nothing stops users from replying to and updating Closed Work Items. Now you can optionally enable not only the creation of a New Related Work Item...but one that automatically copies the Closed one's Title/Description into the new one while preserving the new information.
    • Process Multiple Mailboxes with Unique Templates: Maybe you have several inboxes you've connected up to SCSM, but the performance is beginning to run like Usain Bolted to an anchor. Now you can redirect mail to a single inbox and monitor the connector with it as though you had multiple connectors setup. In doing so not only can you significantly lighten the load on your workflow server but you can also apply different templates (IR, SR, and the aforementioned new CR, PR types) to those different mailboxes.
    • Separate your Customizations: Sure it's great than you can edit the connector but creates a potential Change Management nightmare if you have to copy custom code between versions. Now using a series of event based triggers and a secondary script, you can inject your own processes such as Before Email is Processed, Before Work Items are Created, After Work Items are Created, etc.
    • Attachment Size Settings: If you're mindful of the File Attachment size on Work Items, the connector now can optionally enforce file attachment limits as seen in the Administration -> Settings pane for each respective Work Item type.
    • New Service Request [Keywords]: You can now [hold] or [acknowledge] Service Requests
    • General Enhancements 1, Auto-discover issues? Fret not. The new version now supports a hard coded URL if you prefer not to use auto-discover.
    • General Enhancements 2, [Take] keyword: If you're using the Cireson Portal you can now optionally enable Support Group Enforcement. In doing so, [take] won't work unless the Analyst in question is actually a part of the Support Group the Work Item is assigned.
    • General Enhancements 3, Improvements on non Workflow servers: If you're set on running the connector somewhere other than SCSM (perhaps SMA or even another server) one thing you've always had to do is add credentials to every, single, smlet. No more!
    • Miscellaneous: In an effort to improve documentation around an ever growing feature set, screenshots are available (where applicable) detailing the use cases for all features in the readme. Along with a growing Wiki to support how to configure some of these more complex scenarios (i.e. multiple inboxes).

    Being able to create additional Work Item types opens up a wealth of new avenues for organizational process. For example, you could create other mailboxes to handle Change Requests submitted by Vendors, introduce email reply scenarios that only allow a specific tier of analysts to generate Problems, or you simply want to grow your SCSM deployment to new departments that wish to use their own custom inbox without weighing down your workflow server. Perhaps you already have a growing number of inboxes and wish to collapse them into a single one to simplify? Now using mail redirection on Exchange you can redirect mail all into a single inbox and still apply unique templates. No matter which path you choose, you can continue to push SCSM to the central hub of your ITSM organization and process automation endeavors - and continue to do it all through email.

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    @Jerrett_Ferguson, Adam's post right above this is the answer I have been waiting to give you.  The multiple mailbox feature is now part of the connector.  Check it out!
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited February 2018

    I hope your chair has seat belts, because you should probably buckle up for this.
    Now available on GitHub is minor release v1.4.3 and with it - a new and highly experimental feature…

    Artificial Intelligence Analyst: An inherit problem with the stock connector and this one is simple - they're a bit dumb. "Email becomes Work Item. Email updates Work Item. Done." Not to mention, when it comes to the connector you've always had to pick either Incidents or Service Requests as the default Work Item type. But what if you didn't have to? What if Service Manager could just do it for you? Now leveraging the power of machine learning through Microsoft Azure Cognitive services, emails can now be optionally scrubbed for keywords and run through sentiment analysis.

    • Keywords: If you make use of the Cireson Knowledge Base Search or Service Catalog Search features of this connector, rather than search every single word in the email they will now be parsed for keywords to create faster and more targeted searches against your SCSM deployment.
    • Sentiment: Now an attempt will be made to evaluate the Affected User's perceived attitude. With this new scoring system (on a scale of 0% negative to 100% positive) a new configurable setting has been introduced to define the minimum percent sentiment rating to create a Service Request instead of an Incident on New Work Item creation. For example, let's say you decide to set the minimum value at 95% and the connector is about to process two new emails...
      • The first email body says "Thank you for the new keyboard! Can I setup hotkeys for applications on it?" and is scored at 98% so a Service Request gets created.
      • The second email body contains a misspelling and says "The printer for whatever reason is now printing from tray 2. Why does it keep getting reset? Isn't there some way to can permantly fix this?" and is scored at 16% so an Incident gets created.

     

    This feature requires an Azure subscription along with a deployed instance of Cognitive Services Text Analytics API. It may incur monthly costs depending on usage. Please ensure you understand the potential financial costs to your organization before enabling this feature. Here's how to find information on Microsoft pricing, how you can test the service out for free via the web, and see if your language is supported. Finally, an explanation on Microsoft's algorithm can be viewed here on TechNet.

    Azure Cognitive Services offers a wealth of APIs to tap into including Vision, Knowledge, Language, Speech and general Search. While the above introduces just a small part of the Language API, items such as the Speech API would potentially open up the possibility of parsing missed called/voicemails to Work Item descriptions (speech to text) and the Knowledge API could further extend the search capabilities of one's growing SCSM knowledge base.
  • Michael_ClarkMichael_Clark Customer IT Monkey ✭
    Adam  or anyone who has some experience working with this connector - I seem to have things configured correctly and it appears for the most part all is working.. However I am having issues with key words. Specifically in regards to Review Activities. [Approved] or [Rejected] keywords do not appear to be doing anything.  Any insight you may have would be greatly appreciated. Really rather not switch back to the regular old exchange connector.
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    Hey @Michael_Clark - messaged you for some additional questions around this.
  • Rick_ReyesRick_Reyes Customer IT Monkey ✭
    Great job on this @Adam_Dzyacky. I have implemented the PS Script and believe I have configured all settings correctly, but whenever the script has something to update, I always receive the output below. Any help on this is much appreciated.

  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    Very minor update - I'll try to keep some of these questions on the Issues page of the GitHub repo to of course mark as questions, potentially convert to bugs, link to pull requests, further build out the FAQ, etc.

    Don't forget that a GitHub account along with Watching the repo means you can receive notifications as new Issues (feature requests, questions, bugs) are raised and of course means you can submit your own changes to the connector. So if you don't have one, get one!

    @Michael_Clark's question
    @Rick_Reyes' question


  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    Am I celebrating today? Of course I am. Because did you know a year ago this month marks the 1 year anniversary of this Open Source SMLets Exchange Connector? How am I celebrating? More SMLets Exchange Connector of course!

    Creating a Custom Administration Setting - I think it's fair to say most of us know the name Travis Wright. Maybe you've seen that blog post of his for building a Settings MP that lets you write values into SCSM through the Admin Settings pane through a custom UI and management pack? If you're a skilled developer the article was probably just enough to push you over the edge to full understanding. But if you're not a developer, the chances of understanding where all of this code goes is a different story entirely. That's why apart from announcing the plan to begin the creation a custom Settings MP for the connector so as to persist settings through script upgrades; I'm even more excited to share that after several of my own head-to-desk hours later I will be entirely rewriting Travis' blogpost from scratch showing all the non-developers out there how to go about creating such a thing. It's my goal to make it a complete, step by step, start to finish series that anyone of any skill level can follow along. But where would those articles those get published?

    SMlets Exchange Connector, The Blog - If you were looking closely at the Github repo within the last couple weeks, a blog was added through GitHub pages (e.g. docs folder). I'm rather excited about this because apart from being able to provide more content on the connector it gives readers the ability become contributors by submitting Fork and Pull Requests to said blog. That means if something isn't quite as clear as it should be or some grammar is bothering you have the power to change it. All you need is a GitHub account.

    Artificial Intelligence, GitHub Project - In the most recent version, the connector gained Azure Cognitive Services abilities enabling the connector to parse emails for the Affected User's perceived attitude thereby automatically understanding how to create Incidents vs. Service Requests. Then moving one step further and picking out keywords for improved Request Offering/Knowledge Article suggestion. As I've been saying, this really feels like its just the tipping point. Things like voicemail transcription, OCR for screenshots, and providing image content tagging are more Azure APIs just waiting to be integrated. So apart from them being their own requests on the repo featuring functional and working PowerShell examples you can try out for yourself, they've now been grouped together under the new AI Project to provide a clearer picture of this subset of enhancements.
  • Nick_FlintNick_Flint Customer Advanced IT Monkey ✭✭✭
    I'm not sure where to discuss this one and it is fairly minor.  I used the SMLets Exchange Connector to skip a manual activity. The Status of the MA changed and the workflow updated the next activity correctly. However, the skipped activity isn't displayed in the Cireson Portal like activities skipped from the portal. It's not crossed out and the skip button still appears instead of the unskip button.



  • Roland_KindRoland_Kind Partner Advanced IT Monkey ✭✭✭

    Hi Adam,

    regarding your admin settings - I have done this (for another purpose), too with VS (creating singleton classes for the settings...) - but what about creating a standard class (with multiple instances) where each instance holds a specific configuration setting - if you servicing more than one exchange connector - so each instance holds the whole settings for one connector instance

    If the GUI is not that important to have it inside SCSM Console - why not creating this with plain PS ? (e.g. maybe someting like a configuration PS module for theSMLets Exchange Connector)

    Just some thoughts on this - regards

    Roland


  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited June 2018
    @Nick_Flint - I've added your question to Github. This feels like some flag that just isn't getting set. Don't have a definitive answer just yet but it can't be far.

    @Roland_Kind - Hrm.
  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
    edited July 2018

    You know what time it is? Time for another release on GitHub!
    1.4.4 of the connector has bug fixes, optimizations, and of course more features:

    First Response Date on Suggestions: This is a really useful data point for reporting, but depending on who you ask it's a feature within native SCSM that can easily be overlooked. So if you've enabled Suggest Cireson Knowledge Articles or Suggest Cireson Request Offerings, the connector can now optionally mark this date for you. Credit to @Brett_Moffett for this process improvement idea that came up during discussion on the article he wrote about the connector!

    [take] Manual Activities: Do you like the ability to self assign Work Items from email? No reason to stop at the core Work Item classes because now it's possible to [take] a Manual Activity for yourself

    Support Group [take] enforcement: Continuing along from previous versions, you can prevent Analysts from using [take] unless the Work Item is currently assigned to a Support group they are in. This functionality now works against Manual Activities and Change Requests if you've performed Support Group class extensions against these classes

    Configurable private keyword: This keyword is now configurable to support non English deployments of SCSM

    Minimum Word Match for Knowledge Article Suggestion: To have a closer parity with the Suggest Request Offering feature, if you turn on Suggest Cireson Knowledge Articles when your Knowledge Base is searched it will only email back suggestions to the Affected User whose original email contained at least some configurable minimum number of words matched. This provides an inherently tighter scoping of relevant Knowledge Articles regardless if you're using Azure Cognitive Services to drive the results or not

    Default Resolution Categories: A gap in the native Exchange Connector is that if an Incident gets [resolved] the Resolution Category is left blank. Now you can optionally set a default Resolution Category on Incidents/Problems and Default Implementation Results on Service/Change Requests

    Enhanced Action Logging: Up until this point, any actions taken against a Work Item (e.g. Take, Resolve, Reactivate, etc.) most of the time were marked as an Analyst Comment in a Work Item's Action Log. Now Action Log entries mimic native SCSM Console functionality thereby bringing consistency between console, Cireson SCSM portal, optional data warehousing, and the SMLets Exchange Connector. In addition, the PowerShell function written for this feature can be used independently of the connector for those looking to perform Action Log entries against Work Items for your own processes outside of email

    Flexibility around Azure Cognitive Services features: The connector's Azure AI ability on the previous release (v1.4.3) was a rather all or nothing move. Now you can independently enable Azure Cognitive Services for dynamic Work Item Creation (Incident or Service Request based on perceived user attitude), Suggest Request Offerings, Suggest Knowledge Articles, or all of them.


    This update closed a near equal amount of feature requests and optimizations along with a few bugs. Thanks again to @Nick_Flint for reporting that Skipped MAs don't Render as Expected in the Cireson Portal and rameuses for your IssuesAs always if you want to get involved with building for the connector all it takes is a GitHub account, forking the repo, and then making changes.

  • Justin_WorkmanJustin_Workman Cireson Support Super IT Monkey ✭✭✭✭✭

    Enhanced Action Logging: In addition, the PowerShell function written for this feature can be used independently of the connector for those looking to perform Action Log entries against Work Items for your own processes outside of email

    It's almost begging for it's own repurposable module!
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    It's almost begging for it's own repurposable module!
    Look, @Adam_Dzyacky!  @Justin_Workman is offering to contribute!  ;) 

    I had never thought about it before, but there are a few other useful general-purpose functions in the script, too.  I like how simple it is to get up and running with the script in its current form vs. having to also install a module, but there's something here to ponder.

    I wonder what other folks who are using this think?
  • Alan_FosterAlan_Foster Customer Adept IT Monkey ✭✭
    I have about 10 different oob exchange connectors, when implementing this PowerShell script do I need a different script for each connector?
  • Nick_FlintNick_Flint Customer Advanced IT Monkey ✭✭✭
    No. One script can handle as many incoming inboxes as you'd like. The key is to have mail sent to the secondary mailboxes redirected to the primary mailbox. Then you configure the script to use the correct templates  based on which mailbox the email was redirected from.
  • Alan_FosterAlan_Foster Customer Adept IT Monkey ✭✭
    Thanks @Nick_Flint, I was just discussing this with my exchange admin.  

  • Alan_FosterAlan_Foster Customer Adept IT Monkey ✭✭
    I have setup a redirected email but it does not use the template for the redirected email address.  When i send an email to the "scsm_dev_desktop" email address it uses the template "NES - Incident Request - Raise an Incident" instead of using "NES - Incident - Auto - Desktop Alert". 

    This is what is in my ps1 script.

    $exchangeAuthenticationType = "windows"
    $workflowEmailAddress = "SCSM_DEV@mycompany.com"
    ...
    $defaultNewWorkItem = "ir"
    $defaultIRTemplateName = "NES - Incident Request - Raise an Incident"
    ...
    $UseMailboxRedirection = $true
    $Mailboxes = @{
    "SCSM_DEV_Desktop@mycompany.com" = @{"DefaultWiType"="IR";"IRTemplate"="NES - Incident - Auto - Desktop Alert"};    
    }

    What am I missing?
Sign In or Register to comment.