Creating an event action with a subscription
You can use the Content Event Webhook feature to create an event action.
This example creates an event action against a document subclass
“Invoice”:
mutation
{
eevCreateExternalEventAction
(repositoryIdentifier:"<objectStoreSymName>"
externalEventActionProperties:
{
type:WEBHOOK
name:"Sample Event Action"
cmTransactionTimeout: 60
eevEventReceiverCredentials:
{
credentialType:HMAC
credentialSecret:"<sampleCredential>"
}
eevExternalEventReceiverURL:"http://<sampleserver>:<port>/sampleWebhookReceiver"
eevReceiverRegistrationIdentifier: "<sampleIdentifier>"
}
subscriptions:
{
changes: [
{
type: CLASS
changeMode:ADD
name:"Sample Class Subscription"
descriptiveText: "Sample Class Subscription description"
subscriptionTarget:
{
classIdentifier:"ClassDefinition"
identifier:"Invoice"
}
subscribedEventClassIdentifiers:
[
"UpdateEvent"
]
subExternalEventClassSubscription:
{
includeSubclasses: true
}
}
]
}
)
{
id
name
owner
progId
eevExternalEventReceiverURL
isEnabled
cmTransactionTimeout
}
}
The following example creates an event action for a document
instance:
mutation
{
eevCreateExternalEventAction
(repositoryIdentifier:"<objectStoreSymName>"
externalEventActionProperties:
{
type:WEBHOOK
name:"Sample Event Action"
cmTransactionTimeout: 60
eevEventReceiverCredentials:
{
credentialType:HMAC
credentialSecret:"<sampleCredential>"
}
eevExternalEventReceiverURL:"http://<sampleserver>:<port>/sampleWebhookReceiver"
eevReceiverRegistrationIdentifier: "<sampleIdentifier>"
}
subscriptions:
{
changes: [
{
type: INSTANCE
changeMode:ADD
name:"Sample Doc Instance Subscription"
descriptiveText: "Sample Doc Instance Subscription description"
subscriptionTarget:
{
classIdentifier:"Document"
identifier:"<documentId>"
}
subscribedEventClassIdentifiers:
[
"UpdateEvent"
]
}
]
}
)
{
id
name
owner
progId
eevExternalEventReceiverURL
isEnabled
cmTransactionTimeout
}
}
The following example creates an event action for a folder
instance:
mutation
{
eevCreateExternalEventAction
(repositoryIdentifier:"<objectStoreSymName>"
externalEventActionProperties:
{
type:WEBHOOK
name:"Sample Event Action"
cmTransactionTimeout: 60
eevEventReceiverCredentials:
{
credentialType:HMAC
credentialSecret:"<sampleCredential>"
}
eevExternalEventReceiverURL:"http://<sampleserver>:<port>/sampleWebhookReceiver"
eevReceiverRegistrationIdentifier: "<sampleIdentifier>"
}
subscriptions:
{
changes: [
{
type: INSTANCE
changeMode:ADD
name:"Sample Folder Instance Subscription"
descriptiveText: "Sample Folder Instance Subscription description"
subscriptionTarget:
{
classIdentifier:"Folder"
identifier:"<folderId>/<folderPathname>"
}
subscribedEventClassIdentifiers:
[
"FileEvent"
]
}
]
}
)
{
id
name
owner
progId
eevExternalEventReceiverURL
isEnabled
cmTransactionTimeout
}
}