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
  }
}