Subscribing to WebHooks

This section describes which events that are possible to subscribe to and how to manage your subscriptions.

Supported event types

This section describes which events that can be subscribed to and how the event JSON object looks like.

AppropriationDateChanged

When “overtagelsesdato” changes.

{
    "EventType": "AppropriationDateChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1
    }
}

Use AdvancedPropertySearch to get the new date:

POST /flow/api/Search/AdvancedPropertySearch?$filter=Id eq {caseId from payload}&$select=TransferDate

CaseStatusChanged

When the status of a case changes.

{
    "EventType": "CaseStatusChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1
    }
}

Use AdvancedPropertySearch to get the new status:

POST /flow/api/Search/AdvancedPropertySearch?$filter=Id eq {caseId from payload}&$select=Status

CaseSold

When a case is set to sold.

{
    "EventType": "CaseSold",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1
    }
}

PublicationChanged

Whenever a Finn publication changes.

{
    "EventType": "PublicationChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1,
        "PublicationId": 1,
        "Type": 1
    }
}

Types:

  • Finn = 1
  • FinnComingForSale = 150

This event can be used to know when the asking price published to Finn (PublishedAskingPrice) has changed. Use this API to get the updated value:

GET /flow/api/Conditions/Properties/{id}

Requires “Cases - Read” authorization

OppdragCreated

When a new case is created.

{
    "EventType": "OppdragCreated",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1
    }
}

InteressentCreated

When a stakeholder is created.

{
    "EventType": "InteressentCreated",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "ContactId": 1,
        "CaseId": 1
    }
}

InteressentChanged

When the data of an existing stakeholder changes.

{
    "EventType": "InteressentChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "ContactId": 1,
        "CaseId": 1
    }
}

InteressentDeleted

When an existing stakeholder is deleted.

{
    "EventType": "InteressentDeleted",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1
    }
}

AktivitetCreated

When an activity is created.

{
    "EventType": "AktivitetCreated",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "CaseId": 1,
        "Type": 1
    }
}

AktivitetChanged

When an existing activity changes.

{
    "EventType": "AktivitetChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
    "Id": 1,
        "CaseId": 1,
        "Type": 1
    }
}

AktivitetDeleted

When an existing activity is deleted.

{
    "EventType": "AktivitetDeleted",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "CaseId": 1
    }
}

SettlementStatusChanged

When the status of a settlement changes.

{
    "EventType": "SettlementStatusChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1
    }
}

Use the SettlementStatuses endpoint to get the new status:

GET /flow/api/Properties/{id}/SettlementStatuses (Id = CaseId from payload)

Possible values for the response field “SettlementStatus”:

  • “Waiting”: Venter
  • “General”
  • “TransferredToSettlement”: Overført til oppgjør
  • “SettlementReceived”: Mottatt oppgjør
  • “DeedSentToRegistration”: Skjøte sendt til tinglysning
  • “SettlementCompleted”: Oppgjør gjennomført
  • “Archived”: “Arkivert”

SellerInsuranceChanged

When the home seller’s insurance selection has changed.

{
    "EventType": "SellerInsuranceChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "PropertyId": 1
    }
}

Any subscriber to this event can request the selected insurance option by calling the endpoint:

GET /flow/api/Properties/{id}/Information (Id = PropertyId from payload)

Possible values for the response field “SellerInsuranceType”:

  • “Unknown”: Ikke valgt
  • “Yes”: Ja
  • “SellerNo”: Nei - selger ønsker ikke boligselgerforsikring
  • “TermsNo”: Nei - selger kan ikke tegne boligselgerforsikring iht. vilkår

MarketingPackageChanged

When the marketing package on a case has changed.

{
    "EventType": "MarketingPackageChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "MarketingPackageId": 1, 
        "CaseId": 1,
        "CaseGuid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
    }
}

ChecklistItemChecked

When a checklist item on a case has been checked.

{
    "EventType": "ChecklistItemChecked",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "CaseId": 1,
        "CaseGuid": "fb4d7e56-1be7-49a5-994f-646890ece2a7",
        "Id": 1,
        "Key": "ChecklistItemKey",
        "DefinitionId": 1
    }
}

EmployeeChanged

When an employee has been updated/changed.

{
    "EventType": "EmployeeChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "EmployeeId": 1,
        "EmployeeGuid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
    }
}

OfficeChanged

When an office has been updated/changed.

{
    "EventType": "OfficeChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "OfficeId": 1,
        "OfficeGuid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
    }
}

DynamicSaleTextChanged

When dynamic sale text has changed and requires reload. And reload is required when the dynamic sale text has been added, deleted or when the position has been updated.

{
    "EventType": "DynamicSaleTextChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": [
        {
            "Id": 1,
            "Guid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
        }
    ],
    "RequireReload": true
}

When dynamic sale text has changed and doesn’t require reload.

{
    "EventType": "DynamicSaleTextChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": [
        {
            "Id": 1,
            "Guid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
        }
    ],
    "DynamicSaleTextHeaderId": 1,
    "UpdatedDateTime": "2022-04-28T11:26:41.5334824+02:00",
    "RequireReload": false
}


The response contains a list of ids and guids of all the cases on which dynamic sale text has been updated. Subscribers can request the updated sale text for each case by calling the endpoint:

When reload is required:
GET /flow/api/DynamicSaleText/Cases/{caseId}/DynamicSaleTextItems (caseId = Id from payload)
[
    {
        "Id": 1,
        "ParentId": 1,
        "Header": "Title",
        "Text": "<p> Content </p>",
        "Level": 1,
        "ShouldNotBePublished": false,
        "ErrorMessage": "",
        "HasError": false,
        "UpdatedAt": "2024-05-06T11:05:46.3641898+02:00"
    }
]
When reload is not required:
GET /flow/api/DynamicSaleText/Cases/{caseId}/DynamicSaleTextItems/{headerId}
{
    "Id": 1,
    "ParentId": 1,
    "Header": "Title",
    "Text": "<p> Content </p>",
    "Level": 1,
    "ShouldNotBePublished": false,
    "ErrorMessage": "",
    "HasError": false,
    "UpdatedAt": "2024-05-06T11:05:46.3641898+02:00"
}

HyperlinkChanged

When a hyperlink of a general text has been changed for a case.

{
    "EventType": "HyperlinkChanged",
    "EventCreatedDate": "2022-04-28T11:26:41.5334824+02:00",
    "Payload": {
        "GeneralTextId": 1,
        "CaseId": 1, 
        "CaseGuid": "fb4d7e56-1be7-49a5-994f-646890ece2a7"
    }
}

ActivityParticipantCreated

When a participant is added to an activity.

{
    "EventType": "ActivityParticipantCreated",
    "EventCreatedDate": "2024-05-09T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "CaseId": 1,
        "StakeholderId": 1,
        "ContactId": 1,
        "ActivityId": 1,
        "Type": "Type"
    }
}

StakeholderId is only returned when the activity is of type “Showing”, and if the contact is a stakeholder on the case.

Type
Unknown
TaskActivity
TelephoneActivity
ShowingActivity
InspectionActivity
TransferActivity
ContractMeetingActivity
MeetingActivity
LeadActivity
StakeholderActivity
BuyerLeadActivity

ActivityParticipantDeleted

When a participant is removed from an activity.

{
    "EventType": "ActivityParticipantDeleted",
    "EventCreatedDate": "2024-05-09T11:26:41.5334824+02:00",
    "Payload": {
        "Id": 1,
        "CaseId": 1,
        "StakeholderId": 1,
        "ContactId": 1,
        "ActivityId": 1,
        "Type": "Type"
    }
}

For a list of possible Type values, see the event ActivityParticipantCreated