Sageworks automatically creates events from specific tasks such as loan boarding, document association and loan stage change. These events contain relevant date and ID information regarding those actions. Many of our use cases are based on polling these events and taking action accordingly.

Enabling the event system

The events are off by default in customer accounts. To turn on events, navigate to the third-party connections page and toggle on the event system in the "Abrigo APIs" tile.

List of available events

  • Loan Boarding Event
  • Document Association Saved Event
  • Document Changed Event
  • Document Deleted Event
  • Document Uploaded Event
  • Appraisal Status Changed Event
  • Loan Stage Change Event
  • Built Construction Event
  • Collateral Widget Event
  • Core Integration Completed Event
  • Customer Widget Event

Polling events

The events can be polled using Get/v1/events which will result in obtaining all open events.

[
  {
    "id": 125464545,
    "eventTime": "2021-08-01",
    "eventType": "loanBoardedEvent",
    "eventContent": {
      "ProposedLoanId": "654321"
    },
    "isComplete": false
  },
  {
    "id": 125464546,
    "eventTime": "2021-08-03",
    "eventType": "loanBoardedEvent",
    "eventContent": {
      "ProposedLoanId": "654321"
    },
    "isComplete": false
  }
]

Event Filters

To find the specific event types there has been a list of filters made available:

  • fromEventTime - Beginning time range of events
  • toEventTime - Ending time range of events
  • eventType - The type of the event

Widget event polling

The widget system is a method which allows a partner to integrate directly to the customer's UI. Since a customer may have multiple vendors integrated this way, specific endpoints have been made available to poll by widget ID rather than just by event type. This allows for polling results to obtain only open events for one specific widget ID.

Customer widget events

/v1/customer-widgets/{id}/events is leveraged to obtain events made by a specified widget ID

{
  "items": [
    {
      "id": 2173648,
      "eventTime": "2024-02-27T09:50:59.8961844-05:00",
      "eventType": "customerWidgetEvent",
      "eventContent": {
        "customerWidgetID": "30",
        "customerId": "118487237"
      },
      "isComplete": false
    },
    {
      "id": 2173649,
      "eventTime": "2024-02-27T09:55:21.0596397-05:00",
      "eventType": "customerWidgetEvent",
      "eventContent": {
        "customerWidgetID": "30",
        "customerId": "118487239"
      },
      "isComplete": false
    },
    {
      "id": 2173845,
      "eventTime": "2024-02-28T16:10:14.7568088-05:00",
      "eventType": "customerWidgetEvent",
      "eventContent": {
        "customerWidgetID": "30",
        "customerId": "118487239"
      },
      "isComplete": false
    },
    {
      "id": 2174073,
      "eventTime": "2024-03-01T09:51:28.0476152-05:00",
      "eventType": "customerWidgetEvent",
      "eventContent": {
        "customerWidgetID": "30",
        "customerId": "118487239"
      },
      "isComplete": false
    }
  ]
}

Collateral Widget Events

/v1/collateral-widgets/events{widgetId} is leveraged to obtain events made by a specified widget ID

{
  "items": [   
    {
      "id": 2173130,
      "eventTime": "2024-02-21T09:50:14.0654601-05:00",
      "eventType": "collateralWidgetEvent",
      "eventContent": {
        "collateralWidgetID": "4",
        "proposedLoanId": "1282521",
        "loanId": null,
        "collateralId": "46906998",
        "customerIds": "[85358245]",
        "workflowIds": "[677603]"
      },
      "isComplete": false
    },
    {
      "id": 2173873,
      "eventTime": "2024-02-29T10:28:18.8543946-05:00",
      "eventType": "collateralWidgetEvent",
      "eventContent": {
        "collateralWidgetID": "4",
        "proposedLoanId": null,
        "loanId": "71037002",
        "collateralId": "63383903",
        "customerIds": "[85477283]",
        "workflowIds": "[]"
      },
      "isComplete": false
    }
  ]
}

Closing Events

Abrigo events have a status associated with them. The GET/v1/events endpoint only returns endpoints with at status of "open". While a date filter is available, this allows the user to avoid requiring a date filter. To change the event status to "complete", endpoint PATCH/v1/events/{id}/complete is required.

{
  "id": 2173648,
  "eventTime": "2024-02-27T09:50:59.8961844-05:00",
  "eventType": "customerWidgetEvent",
  "eventContent": {
    "customerWidgetID": "30",
    "customerId": "118487237"
  },
  "isComplete": true
}