Comment on page
Custom action plugins
A custom action plugin is a plugin that can be associated to a custom action node in an automation, allowing you to trigger a custom action in an automation.
This feature is useful for triggering actions not available in the current list of actions in automations.
Custom action plugins have only one predefined endpoint to implement.
post
myworker
/v1/scenario_custom_actions
Trigger a custom action
See Plugin Instances to learn why you should use the
custom_action_id
parameter to retrieve the instance properties.The code of the custom action plugin can call the following API endpoints to retrieve its instance context.
get
https://api.mediarithmics.com
/v1/scenario_custom_actions/:id
Retrieve the instance
get
https://api.mediarithmics.com
/v1/scenario_custom_actions/:id/properties
Retrieve the instance properties
A custom action plugin has the
SCENARIO_CUSTOM_ACTION
plugin type. Its group id should be {domain.organisation.scenario-custom-action}
(for example com.mediarithmics.scenario-custom-action
).Its artifact id should be the name of the custom action plugin, i.e.
example-custom-action
.Use our Plugin SDK to create your custom action plugin in
Node.js
: the required routes are already defined and you only have to override specific functions.We can provide you with a Hello World project using our SDK. Please contact your support to gain access to it.
You should extend
CustomActionBasePlugin
class and implement the onCustomActionCall
function from the plugin SDK.The
onCustomActionCall
function is called every time a user point runs through a custom action node in an automation. It is responsible for implementing the custom action.Don't forget to catch your errors. You should log / respond with the appropriate message to facilitate debugging.
import { core } from '@mediarithmics/plugins-nodejs-sdk';
export class MyCustomActionPlugin extends core.CustomActionBasePlugin {
protected onCustomActionCall(
request: core.CustomActionRequest,
instanceContext: core.CustomActionBaseInstanceContext
): Promise<core.CustomActionPluginResponse> {
// do stuff here
const response: core.CustomActionPluginResponse = {
status: 'ok',
};
return Promise.resolve(response);
}
}
post
https://api.mediarithmics.com
/v1/scenario_custom_actions
Create a custom action plugin instance
put
https://api.mediarithmics.com
/v1/scenario_custom_actions/:id/properties/technical_name=:name
Update a custom action plugin instance property
Last modified 2yr ago