Extensions
Extensions build on top of included core Dovetail Carrier functionality to provide the behavior needed by your organization to react to messages (events) being received. Extensions define everything that Dovetail Carrier does. They define how your business should respond when messages from your organization are received. Extensions can also be responsible for publishing messages into Dovetail Carrier.
All extension source code is shipped with Dovetail Carrier enabling you to change extension behaviors to do exactly what your organization needs. For more information about customization of extension source code please see Creating and Customizing Extensions.
Receiving Email Messages
Dovetail Carrier Core includes support for receiving emails and publishing them as messages. Dovetail Carrier developers can design extensions which subscribe to incoming email messages and perform custom behavior for your business. Included with Dovetail Carrier are two extensions (the Email Agent and extensions), which integrate email functionality with the Dovetail SDK.
Email Agent Extension - Carrier.Extensions.EmailAgent.dll
Email messages received are treated as support case correspondence within your Clarify CRM system. When possible emails are correlated with existing support cases, logging their contents and attachments to the appropriate case or subcase. Emails about new issues will create cases. This extension is an effective replacement for Clarify EmailClerk™ and Dovetail's standalone Email Agent product. This extension is installed by default during Dovetail Carrier installation.
Communications Extension - Carrier.Extensions.Communications.dll
Email messages received are treated as Dialogues and Communications within your Clarify CRM system. This extension is an effective replacement for much of the Amdocs eResponse Manager™ product. This extension is not installed by default.
Parent-Child Cases Extension - Carrier.Extensions.ParentChildCases.dll
The Parent-Child Cases Extension allows for automating workflow processes involving parent-child cases.
SDK Toolkit Extension - Carrier.Extensions.SDK.dll
The SDK Toolkit Extension allows for executing methods within the Dovetail SDK Toolkits, without writing any code.
AutoDest Toolkit Extension - Carrier.Extensions.SDK.dll
The AutoDest Toolkit Extension allows for automatically assigning or dispatching workflow objects based on an auto-destination rules.
Task Manager Extension - Carrier.Extensions.Tasks.dll
This extension will process messages received from Dovetail Rulemanager. These are typically part of the Dovetail Task Manager process.
Webhooks Extension - Carrier.Extensions.Webhooks.dll
Enables an HTTP request to be invoked.
Example Extensions
Dovetail Carrier includes an extension example, which is a complete working example, and includes complete source code.
SLA Extension
An example extension used for SLA calculations. It demonstrates setting of a Next Due Date and Next Action fields on a case.
For more information, refer to the following blog post:
http://clarify.dovetailsoftware.com/gsherman/2016/08/09/sla-calculations-using-dovetail-carrier/
Deploying Customized Carrier Extensions
The surface area of a Dovetail Carrier extension is a simple .Net assembly DLL and its dependencies. The application looks for extensions in the [InstallDir]/carrierservice application directory. Dovetail Carrier ships with the source code for its Email Agent and Communications extensions and other example extensions and support assemblies. This source code includes test projects with NUnit unit tests.
Removing an Extension from use
Simply remove the extension's .Net assembly DLL from the application directory. For example removing Carrier.Extensions.EmailAgent.dll from the [InstallDir]/carrierservice directory would accomplish this.
Deploying an updated extension
Copy the extension and all of its dependent assemblies and configuration files to the [InstallDir]/carrierservice directory and restart the windows service.
Knowing what extensions are being used by Dovetail Carrier
When the application starts up all rule sets found in all extensions found in the application directory are logged.
Defining DefineRuleSetFor named 'Existing Case Support Email'.
rule:unless condition EmailIsFromEmailAgentEmailAccount and then exit ruleset.
rule:unless condition EmailHasCaseId and then exit ruleset.
rule:do action LogEmailToCase.
rule:when condition EmailHasAttachments do action SaveAttachmentsToCase.
rule:unless condition EmailResponseWasAutomatic do action SendCaseNoteLoggedNotificationToContact.
rule:do action DeleteEmail.
error action NotifiyAdministrator will be invoked rule actions or conditions throw an exception.