Webhooks

Appranix provides options to configure webhooks for the three main events such as pre-recovery, post-recovery, and post-reset. Whenever any one of the above events occurs, the URL configured in the webhook is triggered. The webhook call is a post HTTP/HTTPS call. Appranix recommends using HTTPS endpoints to ensure secure communication.

Steps to configure the webhooks

  1. Choose the AWS Cloud Assembly and go to the “Resources” tab
  2. Select “WEBHOOKS” under the “CONFIGURE” option
  3. Select “ADD WEBHOOK” and provide the Webhook URL and select the type
  4. Select the events you want to be notified about. Three types of event triggers are supported by Appranix,

    • “Pre-recovery”
    • “Post-recovery”
    • “Post-reset”
  5. The webhook configuration can be edited or deleted
  6. Edit the “Pre-recovery” webhook configuration to choose the “Fail On Error” option to avoid retries for a failed recovery
  7. If the “Pre-recovery” webhook event fails after three retries, the recovery will be marked as a failure.
  8. In case of an event failure, that particular webhook is retriggered for a maximum count of three retries, with a one-minute interval

NOTE: Appranix supports only the POST method currently.

Pre-recovery Webhook

Before a recovery is triggered, important details regarding the recovery will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Pre-recovery Webhook Request Payload,

    {
        "recoveryId":"23712792:o23712792ac-xxxxxxx",
        "recoveryName":"test-recovery",
        "recoveryUser":"user@email.com",
        "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
        "cloudConnectionName":"test-connection",
        "cloudAssemblyName":"test-assembly",
        "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
        "timelineDetails":{
            "protectionTimelineId":"23712792:o23712792ci-xxxxxx",
            "protectionTimelineTime":"1615632951406",
            "protectionTimelineTimeZone":"US/Central",
            "protectionTimelinePolicyName":"test-policy",
            "protectionTimelinePolicyFrequency":"DAILY"
         }
    }

Post-recovery Webhook

After the completion of a recovery, important details regarding the recovery will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Post-recovery Webhook Request Payload,

    {
        "recoveryId":"o23712792ac-xxxxxxx",
        "recoveryName":"test-recovery",
        "recoveryUser":"user@email.com",
        "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
        "cloudConnectionName":"test-connection",
        "cloudAssemblyName":"test-assembly",
        "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
        recoveryStatus:"RECOVERY_COMPLETED",
        recoveryDuration:"462363",
        recoveryStartTime:”1615632951406”,
        recoveryEndTime:"161563998876",
        timelineDetails: {
            "protectionTimelineId":"23712792:o23712792ci-xxxxxx",
            "protectionTimelineTime":"1615632951406",
            "protectionTimelineTimeZone":"US/Central",
            "protectionTimelinePolicyName":"test-policy",
            "protectionTimelinePolicyFrequency":"DAILY"
        }
    }

Post-reset Webhook

After the completion of a reset, important details regarding the recovery and reset will be sent as a json payload to the configured url using a POST method.

Request Method: POST
Request content-type: application/json

Expected Response Status Code: 200

Sample Post-reset Webhook Request Payload,

    {
        "recoveryId":"o23712792ac-xxxxxxx",
        "recoveryName":"test-recovery",
        "cloudConnectionId":"23712792:o23712792cs-xxxxxx",
        "cloudConnectionName":"test-connection",
        "cloudAssemblyName":"test-assembly",
        "cloudAssemblyId":"23712792:o23712792ac-xxxxxx",
        "resetStatus":"RESET_COMPLETED",
        "resetUser":"user@email.org"
    }