Financial Events Triggers (Webhooks)
What are Financial Events Triggers?
Feezback scans accounts under a valid consent on a monthly cadence to detect life/financial events — a new employer, a child birth, a new insurance policy, an insurance payment about to end, or an unusually high balance. When enabled for your account, this fires a webhook once a month.
Schedule: the webhook is sent on the 3rd day of each calendar month, covering events detected during the previous full calendar month.
Same envelope as other Feezback webhooks:
{
"event": "EventName",
"payload": { ... },
"timestamp": "2025-02-03T09:00:21.986886+00:00"
}⚠️ Don't validate against a strict schema — parse only the fields you need.
Event catalog
| Event | event value | Status |
|---|---|---|
| Outstanding balance | OutstandingBalance | Live |
| Salary from a new employer | NewSalary | Live |
| Child birth | NewChild | Live |
| New insurance policy | NewInsurancePolicy | Live |
| Car insurance about to expire | ExpiringCarInsurance ⚠️ capital E — see note below | Live |
| House insurance about to expire | expiringHouseInsurance | Live |
| Health insurance about to expire | expiringHealthInsurance | Live |
| Life insurance about to expire | expiringLifeInsurance | Live |
| Loan payment about to end | ExpiringLoan | Coming soon — not yet live |
| Deposit about to reach exit point | depositExitPoint | Coming soon — not yet live |
Casing inconsistency, confirmed in code, not a typo to "fix" on your end: three of the four expiring-insurance events use a lowercaseeventvalue (expiringHouseInsurance,expiringHealthInsurance,expiringLifeInsurance), but car insurance uses a capital E (ExpiringCarInsurance). Match on the exact case-sensitive string for each event — don't assume they're all the same casing pattern.
Outstanding balance — OutstandingBalance
OutstandingBalance{
"event": "OutstandingBalance",
"payload": {
"tpp": "test",
"user": "123456789@test",
"psuId": "123456789",
"totalBalance": [
{ "amount": 16000.0, "currency": "USD" },
{ "amount": 51000.0, "currency": "ILS" }
]
},
"timestamp": "2025-02-03T09:00:21.986886+00:00"
}| Field | Description |
|---|---|
user | User identifier sent to Feezback at consent request |
psuId | ID number of the consent holder |
totalBalance[].amount | The high balance detected |
totalBalance[].currency | Currency of the detected balance |
Salary from a new employer — NewSalary
NewSalary{
"event": "NewSalary",
"payload": {
"tpp": "test",
"user": "123456789@test",
"psuId": "123456789",
"transaction": {
"time": "2024-12-13",
"amount": 3170.0,
"currency": "ILS",
"debtorName": "newEmployeeSalary",
"standardName": "משכורת מעסיק חדש"
}
},
"timestamp": "2025-02-03T09:00:08.015378+00:00"
}| Field | Description |
|---|---|
user | User identifier sent to Feezback at consent request |
psuId | ID number of the consent holder |
transaction.standardName | Feezback's standardized transaction name |
transaction.debtorName | Name of the account the salary came from |
transaction.amount | Transaction amount |
transaction.currency | Transaction currency |
transaction.time | Transaction date |
Child birth — NewChild
NewChild{
"event": "NewChild",
"payload": {
"tpp": "test",
"user": "123456789@test",
"psuId": "123456789",
"transaction": {
"time": "2024-12-07",
"amount": 3170.0,
"currency": "ILS",
"standardName": "ביטוח לאומי - קצבת ילדים",
"remittanceInformationUnstructured": "קצבת ילדים"
}
},
"timestamp": "2025-02-03T09:00:10.879686+00:00"
}Detected when a child-allowance transaction appears at an amount not seen before for this user.
| Field | Description |
|---|---|
user | User identifier sent to Feezback at consent request |
psuId | ID number of the consent holder |
transaction.standardName | Feezback's standardized transaction name |
transaction.remittanceInformationUnstructured | Transaction description as received from the bank |
transaction.amount | Transaction amount |
transaction.currency | Transaction currency |
transaction.time | Transaction date |
New insurance policy — NewInsurancePolicy
NewInsurancePolicy{
"event": "NewInsurancePolicy",
"payload": {
"tpp": "test",
"user": "123456789@sandbox",
"psuId": "123456789",
"transaction": {
"time": "2024-07-16",
"amount": -500,
"currency": "ILS",
"standardName": "מנורה מבטחים",
"remittanceInformationUnstructured": "מנורה מבטחים פ"
}
},
"timestamp": "2025-01-09T15:00:07.636504+00:00"
}Detected when a new debit transaction appears in the insurance category.
| Field | Description |
|---|---|
user | User identifier sent to Feezback at consent request |
psuId | ID number of the consent holder |
transaction.standardName | Feezback's standardized transaction name |
transaction.remittanceInformationUnstructured | Transaction description as received from the bank |
transaction.amount | Transaction amount |
transaction.currency | Transaction currency |
transaction.time | Transaction date |
Car insurance about to expire — ExpiringCarInsurance
ExpiringCarInsurance⚠️ Note the capital E — see the casing callout above.
{
"event": "ExpiringCarInsurance",
"payload": {
"user": "Useridentifier@test",
"psuId": "314690000",
"transaction": {
"cardAcceptorName": "aig רכב חובה",
"transactionDate": "2024-02-17",
"transactionAmount": "320.06",
"transactionCurrency": "ILS",
"paymentsNumber": 12,
"paymentNumber": 11
}
},
"timestamp": "2024-04-08T05:01:12.981118+00:00"
}The source Confluence example had corrupted JSON for this event (
"event":"="and malformed quoting around the amount). The structure above is reconstructed to match the pattern used by the other three expiring-insurance events, but treat it as best-effort — confirm the exacteventstring casing and field types with integration-support before building a strict parser.
Detected when the second-to-last installment payment for car insurance is identified.
| Field | Description |
|---|---|
user | User identifier sent to Feezback at consent request |
psuId | ID number of the consent holder |
transaction.cardAcceptorName | Merchant receiving the payment |
transaction.transactionDate | Transaction date |
transaction.transactionAmount | Transaction amount |
transaction.transactionCurrency | Transaction currency |
transaction.paymentsNumber | Total number of installments in the transaction |
transaction.paymentNumber | Which installment number this is |
House insurance about to expire — expiringHouseInsurance
expiringHouseInsurance{
"event": "expiringHouseInsurance",
"payload": {
"user": "Useridentifier@test",
"psuId": "314690000",
"transaction": {
"cardAcceptorName": "ישיר ביטוח דירה",
"transactionDate": "2024-02-17",
"transactionAmount": "320.06",
"transactionCurrency": "ILS",
"paymentsNumber": 12,
"paymentNumber": 11
}
},
"timestamp": "2024-04-08T05:01:12.981118+00:00"
}Detected when the second-to-last installment payment for house insurance is identified. Same field structure as car insurance above.
Health insurance about to expire — expiringHealthInsurance
expiringHealthInsurance{
"event": "expiringHealthInsurance",
"payload": {
"user": "Useridentifier@test",
"psuId": "314690000",
"transaction": {
"cardAcceptorName": "מגדל בריאות",
"transactionDate": "2024-02-17",
"transactionAmount": "320.06",
"transactionCurrency": "ILS",
"paymentsNumber": 12,
"paymentNumber": 11
}
},
"timestamp": "2024-04-08T05:01:12.981118+00:00"
}Detected when the second-to-last installment payment for health and/or long-term-care insurance is identified. Same field structure as car insurance above.
Life insurance about to expire — expiringLifeInsurance
expiringLifeInsurance{
"event": "expiringLifeInsurance",
"payload": {
"user": "Useridentifier@test",
"psuId": "314690000",
"transaction": {
"cardAcceptorName": "מנורה מבטחים - חיים",
"transactionDate": "2024-02-17",
"transactionAmount": "320.06",
"transactionCurrency": "ILS",
"paymentsNumber": 12,
"paymentNumber": 11
}
},
"timestamp": "2024-04-08T05:01:12.981118+00:00"
}Detected when the second-to-last installment payment for life insurance is identified. Same field structure as car insurance above.
Coming soon (not yet live)
These two are documented in Confluence but are not present in the current codebase's event list — do not build against them yet, and confirm timeline with your Feezback contact before committing to them.
Loan payment about to end — ExpiringLoan
ExpiringLoanWould fire when a loan is detected as ending within the coming month. Documented payload would include: user, psuId, and a loan object with product, startingDate, endDate, balance, originalAmount, isMortgage, details, collateralsInvolved, and an interest[] array (type, rate[].percentage, rate[].fromAmount, rate[].toAmount, fromDateTime, toDateTime, changeMechanism, relatedIndices).
Deposit about to reach exit point — depositExitPoint
depositExitPointWould fire when a deposit approaches an early-exit window. Documented payload would include: user, psuId, and a deposit object with name, relatedDates (contractAvailabilityDate, contractEndDate, contractStartDate), balance (amount, currency), and an interest[] array (fromDateTime, toDateTime, type, rate[] with fromAmount, toAmount, percentage).
Updated 25 days ago