<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Automation Event Definitions</title><link>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions</link><description /><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>Automation Event Definitions</title><link>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions</link><pubDate>Wed, 19 Jun 2019 19:33:17 GMT</pubDate><guid isPermaLink="false">9fb82aa5-3a55-4b11-a84e-3460290e2f4c</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions#comments</comments><description>Current Revision posted to Developer Training by Ben Tiedt on 06/19/2019 19:33:17&lt;br /&gt;
&lt;p&gt;Automation Event Definition plugins enable support for custom API events within automations. Once exposed by an Automation Event Definition, automations can be configured to be [[API Event Trigger|triggered when the event occurs]].&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2&gt;&lt;a id="Why_implement_an_Automation_Event_Definition" name="Why_implement_an_Automation_Event_Definition"&gt;&lt;/a&gt;Why implement an Automation Event Definition?&lt;/h2&gt;
&lt;p&gt;When a customization includes custom APIs and events, an Automation Event Definition implementation will be required to expose the custom events to the automation framework to enable automations to implement custom scripted logic against the custom API/events.&lt;/p&gt;
&lt;h2&gt;&lt;a id="Creating_an_Automation_Event_Definition" name="Creating_an_Automation_Event_Definition"&gt;&lt;/a&gt;Creating an Automation Event Definition&lt;/h2&gt;
&lt;p&gt;The IAutomationEventDefinition interface has one member:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventDefinition : IPlugin
{
    void RegisterEvents(IAutomationEventController controller);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The RegisterEvents() method provides the IAutomationEventController to the plugin. The controller exposes a method that can be used, once received by the plugin, to register available events:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventController
{
    void RegisterEvent(string entityName, string eventName, Type eventArgumentsType, Action&amp;lt;AutomationEventHandler&amp;gt; attachHandler, AutomationEventOptions options = null);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For each event exposed by a custom application, the &lt;code&gt;RegisterEvent()&lt;/code&gt; method should be called, providing the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;entityName&lt;/strong&gt;. The name of the entity. For example, blog post is &amp;quot;BlogPost&amp;quot;. The entity name should be unique, clear, and singular. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventName&lt;/strong&gt;.The name of the event. For example, before a blog post is created, the &amp;quot;BeforeCreate&amp;quot; event is executed. General naming is &lt;code&gt;[Before|After][Create|Update|Delete]&lt;/code&gt;. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventArgumentsType&lt;/strong&gt;. The .net &lt;code&gt;Type&lt;/code&gt; of any arguments provided by the event. An object of this type should be provided when the event occurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;attachHandler&lt;/strong&gt;. This is an action that is provided an &lt;code&gt;AutomationEventHandler&lt;/code&gt; delegate which receives an object representing the event arguments. The &lt;code&gt;attachHandler&lt;/code&gt; will be called when at least one automation is configured to be triggered by this event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;options&lt;/strong&gt;. Options provides two properties: &lt;code&gt;IsObsolete&lt;/code&gt; to identify that the event is no longer recommended for use and will be removed; and &lt;code&gt;GetDescription&lt;/code&gt; which is a function used to retrieve a description of the event to show in documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When an Automation Event Definition plugin is enabled within Verint Community, it is fully integrated into Automation Studio: type-ahead searching, documentation, and event triggering.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Automation Event Definitions</title><link>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions/revision/2</link><pubDate>Wed, 19 Jun 2019 19:32:14 GMT</pubDate><guid isPermaLink="false">9fb82aa5-3a55-4b11-a84e-3460290e2f4c</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions#comments</comments><description>Revision 2 posted to Developer Training by Ben Tiedt on 06/19/2019 19:32:14&lt;br /&gt;
&lt;p&gt;Automation Event Definition plugins enable support for custom API events within automations.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2&gt;&lt;a id="Why_implement_an_Automation_Event_Definition" name="Why_implement_an_Automation_Event_Definition"&gt;&lt;/a&gt;Why implement an Automation Event Definition?&lt;/h2&gt;
&lt;p&gt;When a customization includes custom APIs and events, an Automation Event Definition implementation will be required to expose the custom events to the automation framework to enable automations to implement custom scripted logic against the custom API/events.&lt;/p&gt;
&lt;h2&gt;&lt;a id="Creating_an_Automation_Event_Definition" name="Creating_an_Automation_Event_Definition"&gt;&lt;/a&gt;Creating an Automation Event Definition&lt;/h2&gt;
&lt;p&gt;The IAutomationEventDefinition interface has one member:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventDefinition : IPlugin
{
    void RegisterEvents(IAutomationEventController controller);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The RegisterEvents() method provides the IAutomationEventController to the plugin. The controller exposes a method that can be used, once received by the plugin, to register available events:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventController
{
    void RegisterEvent(string entityName, string eventName, Type eventArgumentsType, Action&amp;lt;AutomationEventHandler&amp;gt; attachHandler, AutomationEventOptions options = null);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For each event exposed by a custom application, the &lt;code&gt;RegisterEvent()&lt;/code&gt; method should be called, providing the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;entityName&lt;/strong&gt;. The name of the entity. For example, blog post is &amp;quot;BlogPost&amp;quot;. The entity name should be unique, clear, and singular. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventName&lt;/strong&gt;.The name of the event. For example, before a blog post is created, the &amp;quot;BeforeCreate&amp;quot; event is executed. General naming is &lt;code&gt;[Before|After][Create|Update|Delete]&lt;/code&gt;. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventArgumentsType&lt;/strong&gt;. The .net &lt;code&gt;Type&lt;/code&gt; of any arguments provided by the event. An object of this type should be provided when the event occurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;attachHandler&lt;/strong&gt;. This is an action that is provided an &lt;code&gt;AutomationEventHandler&lt;/code&gt; delegate which receives an object representing the event arguments. The &lt;code&gt;attachHandler&lt;/code&gt; will be called when at least one automation is configured to be triggered by this event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;options&lt;/strong&gt;. Options provides two properties: &lt;code&gt;IsObsolete&lt;/code&gt; to identify that the event is no longer recommended for use and will be removed; and &lt;code&gt;GetDescription&lt;/code&gt; which is a function used to retrieve a description of the event to show in documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When an Automation Event Definition plugin is enabled within Verint Community, it is fully integrated into Automation Studio: type-ahead searching, documentation, and event triggering.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Automation Event Definitions</title><link>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions/revision/1</link><pubDate>Wed, 19 Jun 2019 19:31:52 GMT</pubDate><guid isPermaLink="false">9fb82aa5-3a55-4b11-a84e-3460290e2f4c</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/developer-training/65586/automation-event-definitions#comments</comments><description>Revision 1 posted to Developer Training by Ben Tiedt on 06/19/2019 19:31:52&lt;br /&gt;
&lt;p&gt;Automation Event Definition plugins enable support for custom API events within automations.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;p&gt;Why implement an Automation Event Definition?&lt;/p&gt;
&lt;p&gt;When a customization includes custom APIs and events, an Automation Event Definition implementation will be required to expose the custom events to the automation framework to enable automations to implement custom scripted logic against the custom API/events.&lt;/p&gt;
&lt;p&gt;Creating an Automation Event Definition&lt;/p&gt;
&lt;p&gt;The IAutomationEventDefinition interface has one member:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventDefinition : IPlugin
{
    void RegisterEvents(IAutomationEventController controller);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The RegisterEvents() method provides the IAutomationEventController to the plugin. The controller exposes a method that can be used, once received by the plugin, to register available events:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;public interface IAutomationEventController
{
    void RegisterEvent(string entityName, string eventName, Type eventArgumentsType, Action&amp;lt;AutomationEventHandler&amp;gt; attachHandler, AutomationEventOptions options = null);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For each event exposed by a custom application, the &lt;code&gt;RegisterEvent()&lt;/code&gt; method should be called, providing the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;entityName&lt;/strong&gt;. The name of the entity. For example, blog post is &amp;quot;BlogPost&amp;quot;. The entity name should be unique, clear, and singular. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventName&lt;/strong&gt;.The name of the event. For example, before a blog post is created, the &amp;quot;BeforeCreate&amp;quot; event is executed. General naming is &lt;code&gt;[Before|After][Create|Update|Delete]&lt;/code&gt;. This will be used when looking up available events and when matching automations&amp;#39; event triggers to available registered events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eventArgumentsType&lt;/strong&gt;. The .net &lt;code&gt;Type&lt;/code&gt; of any arguments provided by the event. An object of this type should be provided when the event occurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;attachHandler&lt;/strong&gt;. This is an action that is provided an &lt;code&gt;AutomationEventHandler&lt;/code&gt; delegate which receives an object representing the event arguments. The &lt;code&gt;attachHandler&lt;/code&gt; will be called when at least one automation is configured to be triggered by this event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;options&lt;/strong&gt;. Options provides two properties: &lt;code&gt;IsObsolete&lt;/code&gt; to identify that the event is no longer recommended for use and will be removed; and &lt;code&gt;GetDescription&lt;/code&gt; which is a function used to retrieve a description of the event to show in documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When an Automation Event Definition plugin is enabled within Verint Community, it is fully integrated into Automation Studio: type-ahead searching, documentation, and event triggering.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>