Webhook Events

Alloy can trigger webhooks for a number of different events

Live Journey Application Status Change

Get notified every time a significant event occurs during a live Journey Application (see Journeys Events page for examples).


Sandbox Journey Application Status Change

Get notified every time a significant event occurs during a sandbox Journey Application (see Journeys Events page for examples).


Manually Review an Entity

Get notified every time an entity is manually reviewed.

Response
{
  "data": {
    "agent": {
      "email": ":agent_email",
      "external_id": ""
    },
    "notes": [
      {
        "note": "",
        "created_at": 1702934949567,
        "updated_at": 1702934949567,
        "note_author_agent_email": ":agent_email"
      }
    ],
    "reason": "Other",
    "outcome": "Approved",
    "reasons": ["Other"],
    "service": "Alloy",
    "started": 1702934491622,
    "reviewer": ":agent_email",
    "completed": 1702934949564,
    "timestamp": 1702934949564,
    "group_token": null,
    "entity_token": ":entity_token",
    "review_token": ":review_token",
    "child_entities": [],
    "application_name": ":workflow_name",
    "application_token": ":workflow_token",
    "external_group_id": null,
    "external_entity_id": ":external_entity_id"
  },
  "type": "create:reviews:is_entity",
  "timestamp": 1703021350284,
  "description": "Manually Review an Entity",
  "request_token": ":request_token"
}


Manually Review a Group

Get notified every time a group is manually reviewed.

Response
{
  "request_token": ":request_token",
  "timestamp": 1702402702993,
  "type": "create:reviews:is_group",
  "description": "Manually Review a Group",
  "data": {
    "entity_token": ":group_entity_token",
    "external_entity_id": ":external_entity_id",
    "group_token": ":group_entity_token",
    "external_group_id": ":external_entity_id",
    "review_token": ":review_token",
    "application_token": ":workflow_token",
    "application_name": ":workflow_name",
    "outcome": "Manual Review",
    "reason": "Other",
    "reasons": ["Other"],
    "started": 1702402408256,
    "timestamp": 1702402702903,
    "completed": 1702402702903,
    "reviewer": ":agent_email",
    "agent": {
      "email": ":agent_email",
      "external_id": ":agent_external_id"
    },
    "notes": [],
    "child_entities": [
      {
        "entity_token": ":group_entity_token",
        "evaluation_tokens": [":evaluation_token"]
      },
      {
        "entity_token": ":entity_token",
        "evaluation_tokens": [":evaluation_token"]
      },
      {
        "entity_token": ":entity_token",
        "evaluation_tokens": [":evaluation_token"]
      }
    ]
  }
}


Create an Evaluation Manually

Get notified every time an evaluation is manually created.

Response
{
  "data": {
    "agent_info": ":agent_email",
    "status_code": 201,
    "entity_token": null,
    "evaluation_token": ":evaluation_token",
    "application_token": ":workflow_token",
    "evaluation_status": "complete"
  },
  "type": "create:evaluations:run_create",
  "timestamp": 1653518019578,
  "description": "Notify on Creating an Evaluation Manually",
  "request_token": ":request_token"
}


Rerun an Evaluation Manually

Get notified every time an evaluation is manually rerun.

Response
{
  "data": {
    "service": "Alloy",
    "agent_info": ":agent_info",
    "status_code": 201,
    "entity_token": ":entity_token",
    "evaluation_token": ":evaluation_token",
    "application_token": ":workflow_token",
    "evaluation_status": "complete"
  },
  "type": "create:evaluations:rerun_create",
  "timestamp": 1696946967599,
  "description": "Notify on Rerunning an Evaluation Manually",
  "request_token": ":request_token"
}


Asynchronously Updated Evaluation

This refers to flows using data vendors such as Middesk, Onfido, etc. Sometimes Middesk requires a human to do research on an entity before returning a result. This process takes longer than a typical evaluation which is returned in a matter of seconds. In this case, the workflow will wait for Middesk to return its result, and when it does, this webhook will be fired.

Response
{
  "data": {
    "outcome": ":outcome",
    "entity_token": ":entity_token",
    "outcome_reasons": [],
    "evaluation_token": ":evaluation_token",
    "application_token": ":workflow_token",
    "evaluation_status": "complete",
    "external_group_id": ":external_group_id",
    "external_entity_id": ":external_entity_id"
  },
  "type": "update:evaluations:async_update",
  "timestamp": 1658773111287,
  "description": "Notify on Asynchronously Updated Evaluation",
  "request_token": ":request_token"
}


Evaluation Created by Data Vendor Webhook

This refers to evaluations created for "Recurring" workflow scenarios, for example, when a ComplyAdvantage watchlist updates and finds a hit against a previously-run applicant.

Response
{
  "data": {
    "outcome": ":outcome",
    "entity_token": ":entity_token",
    "outcome_reasons": [],
    "evaluation_token": ":evaluation_token",
    "application_token": ":workflow_token",
    "evaluation_status": "complete",
    "external_group_id": null,
    "external_entity_id": null
  },
  "type": "create:evaluations:recurring_create",
  "timestamp": 1651914337560,
  "description": "Notify on Evaluation Created by Data Vendor Webhook",
  "request_token": ":request_token"
}


Create new notes for Entities, Evaluations, Reviews, and Documents

Get notified every time a new note is added to an entity, journey application ("Add Application Note"), evaluation ("Add Evaluation Note"), review, and document.

Response
{
  "data": {
    "note": "",
    "created_at": 1658523983534,
    "updated_at": 1658523983534,
    "entity_token": ":entity_token",
    "note_author_agent_email": ":agent_email"
  },
  "type": "create:notes",
  "timestamp": 1658523986843,
  "description": "create new Notes for Entities, Evaluations, Reviews, and Documents",
  "request_token": ":request_token"
}

{
  "data": {
    "note": "",
    "created_at": 1658523983534,
    "updated_at": 1658523983534,
    "journey_application_token": ":journey_application_token",
    "note_author_agent_email": ":agent_email"
  },
  "type": "create:notes",
  "timestamp": 1658523986843,
  "description": "create new Notes for Entities, Evaluations, Reviews, and Documents",
  "request_token": ":request_token"
}

{
  "data": {
    "note": "",
    "created_at": 1658523983534,
    "updated_at": 1658523983534,
    "evaluation_token": ":evaluation_token",
    "note_author_agent_email": ":agent_email"
  },
  "type": "create:notes",
  "timestamp": 1658523986843,
  "description": "create new Notes for Entities, Evaluations, Reviews, and Documents",
  "request_token": ":request_token"
}

{
  "data": {
    "note": "",
    "created_at": 1658523983534,
    "updated_at": 1658523983534,
    "document_token": ":document_token",
    "note_author_agent_email": ":agent_email"
  },
  "type": "create:notes",
  "timestamp": 1658523986843,
  "description": "create new Notes for Entities, Evaluations, Reviews, and Documents",
  "request_token": ":request_token"
}


Batch evaluation is completed

Get notified when a batch evaluation is completed.

Response
{
  "data": {
    "_links": {
      "batch": {
        "href": "/v1/batches/:batch_token"
      }
    },
    "batch_token": ":batch_token",
    "batch_status": "complete"
  },
  "type": "update:batches",
  "timestamp": 1653653602622,
  "description": "a batch evaluation run is completed",
  "request_token": ":request_token"
}


Attempted Transaction Status Update

This is triggered via case management. Get notified when the status of an ACH transaction changes after an agent does their manual review. See Case Management Events for examples.


Attempted Bank Account Status Update

This is triggered via case management. Get notified if an entity's account has been frozen or unfrozen due to suspicious activity. See Case Management Events for examples.


Case Creation

Get notified if a new case is created — either manually or automatically via evaluation. See Case Management Events for examples.


Case Status Update

This is triggered via case management. Get notified when a case's status is updated. See Case Management Events for examples.


Published Attribute Value Change

update:publishedattributesvaluesentities

Get notified if a published attribute is changed manually.

Response
{
  "request_token": ":request_token" ,
  "timestamp": 1724694191647,
  "type": "update:publishedattributesvaluesentities",
  "description": "Notify on published attribute value change",
  "data": {
    "published_attibute_token": ":published_attibute_token",
    "agent": ":agent_email",
    "value_changed_at": 1724694191540,
    "entities_values": [
      {
        "entity_token": ":entity_token",
        "value": "testing"
      }
    ]
  }
}

Rule-Based Notification Triggered

Get notified when a Rule-Based Notification rule is triggered

Response
{
  "request_token": ":request_token",
  "timestamp": 1724694191647,
  "type": "create:rulenotificationpolicies:rule_notification_policy_id",
  "description": "Notify on Rule-Based Notification triggered",
  "data": {
    "application_token": ":workflow_token",
    "journey_token": null,
    "rule_name": "Rule Name",
    "target_type": "tag",
    "target_value": "Tag Name",
    "count": 3,
    "operator": "gt",
    "threshold": 2,
    "time_window": 15
  }
}

🗒️ If the Rule-Based Notification is configured with a Workflow, journey_token will be null. If it is configured with a Journey, application_token will be null

Additional details of what to expect from certain payload fields:

  • target_type - Target object type. One of "outcome", "response_status", or "tag"
  • target_value - Name of the target object
  • count - The current count of the target type that triggered the Rule-Based Notification (ex: "count of Tag XYZ")
  • operator - Comparison operator. One of "eq", "gt", "gte", "lt", "lte"
  • threshold - The threshold value used in the comparison
  • time_window - The time window (in minutes) of the count threshold