[ ] Create a FUB webhook and POST endpoint to capture new eventCreated events (these usually represent Property Inquirys). Whenever a new webhook event occurs, perform additional requests to the FUB API to get the event and person details (events/:id and person/:id). If the source of the event is Zillow Flex and the lead is an existing lead (existing lead: created time of the event was before today), send an email to the admins (currently sending to cregodev7@gmail.com) alerting of a possible Zillow Flex Exemption. Create a Log document for the event regardless of the source or lead status and create an Event document with all of the data pulled during the process. This is all done as a Redis-based background process using a queue, separating the webhook callback endpoint from the actual work performed for each event (always keep the endpoint open to hear requests, perform expensive jobs in the background).
[ ] Update the Events Table to track all of the incoming events created using the webhook.
[ ] By default, show only the Zillow Events (Zillow and Zillow Flex), sorted by order of creation (most recent at the top), but allow the user to apply filters to see all of the other sources, change the sort order, sort by status. Statuses are:
No action
Notified Zillow
Zillow Approves Exemption
Zillow Rejected Exemption
[ ] Allow the admin to directly update the status of an Event from the Events Table (faster than doing it from the individual Event page)
[ ] Remove the Sync Events button, we will no longer need that because of the webhook.
Events Management
eventCreated
events (these usually representProperty Inquiry
s). Whenever a new webhook event occurs, perform additional requests to the FUB API to get the event and person details (events/:id
andperson/:id
). If the source of the event isZillow Flex
and the lead is an existing lead (existing lead:created
time of the event was before today), send an email to the admins (currently sending tocregodev7@gmail.com
) alerting of a possible Zillow Flex Exemption. Create aLog
document for the event regardless of the source or lead status and create anEvent
document with all of the data pulled during the process. This is all done as a Redis-based background process using a queue, separating the webhook callback endpoint from the actual work performed for each event (always keep the endpoint open to hear requests, perform expensive jobs in the background).Events
Table to track all of the incoming events created using the webhook.Sync Events
button, we will no longer need that because of the webhook.