[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"i-noviamind:logo":3,"i-noviamind:microsoft-partner":9,"navigation-docs-en":13,"docs-\u002Fdocs\u002Fintegrations\u002Fwebhooks-en":131,"i-mdi:content-copy":2443,"aside-navigation-en":2445},{"left":4,"top":4,"width":5,"height":6,"rotate":4,"vFlip":7,"hFlip":7,"body":8},0,537.33,111.76,false,"\u003Cdefs>\u003ClinearGradient id=\"a\" x1=\"157.1\" x2=\"-50.98\" y1=\"-147.18\" y2=\"55.13\" gradientTransform=\"translate(.34 68.47)\" gradientUnits=\"userSpaceOnUse\">\u003Cstop offset=\".43\" stop-color=\"#7803ff\"\u002F>\u003Cstop offset=\".5\" stop-color=\"#7803fb\"\u002F>\u003Cstop offset=\".55\" stop-color=\"#7803f0\"\u002F>\u003Cstop offset=\".6\" stop-color=\"#7803de\"\u002F>\u003Cstop offset=\".66\" stop-color=\"#7803c5\"\u002F>\u003Cstop offset=\".7\" stop-color=\"#7803a5\"\u002F>\u003Cstop offset=\".74\" stop-color=\"#780385\"\u002F>\u003C\u002FlinearGradient>\u003ClinearGradient id=\"b\" x1=\"-61.12\" x2=\"105.29\" y1=\"-3.44\" y2=\"-3.44\" gradientTransform=\"translate(.34 68.47)\" gradientUnits=\"userSpaceOnUse\">\u003Cstop offset=\".38\" stop-color=\"#7803ff\"\u002F>\u003Cstop offset=\".42\" stop-color=\"#7803fb\"\u002F>\u003Cstop offset=\".45\" stop-color=\"#7803f0\"\u002F>\u003Cstop offset=\".48\" stop-color=\"#7803de\"\u002F>\u003Cstop offset=\".51\" stop-color=\"#7803c5\"\u002F>\u003Cstop offset=\".54\" stop-color=\"#7803a5\"\u002F>\u003Cstop offset=\".57\" stop-color=\"#780385\"\u002F>\u003C\u002FlinearGradient>\u003ClinearGradient id=\"c\" x1=\"78.74\" x2=\"7.32\" y1=\"-72.32\" y2=\"97.27\" gradientTransform=\"translate(.34 68.47)\" gradientUnits=\"userSpaceOnUse\">\u003Cstop offset=\".32\" stop-color=\"#7803ff\"\u002F>\u003Cstop offset=\".38\" stop-color=\"#7803fa\"\u002F>\u003Cstop offset=\".44\" stop-color=\"#7803ec\"\u002F>\u003Cstop offset=\".51\" stop-color=\"#7803d4\"\u002F>\u003Cstop offset=\".58\" stop-color=\"#7803b4\"\u002F>\u003Cstop offset=\".65\" stop-color=\"#78038a\"\u002F>\u003Cstop offset=\".66\" stop-color=\"#780385\"\u002F>\u003C\u002FlinearGradient>\u003C\u002Fdefs>\u003Cpath fill=\"currentColor\" d=\"M145.36 22.13c.23-.23.52-.35.85-.35h11.77c.33 0 .62.12.86.35.23.24.35.52.35.85v68c0 .34-.12.62-.35.85-.24.24-.52.35-.86.35h-11.37c-.67 0-1.14-.27-1.41-.8l-26.05-43.05c-.14-.2-.27-.29-.4-.25-.14.04-.2.19-.2.45l.2 42.45c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35s-.35-.52-.35-.85v-68c0-.33.12-.62.35-.85s.52-.35.86-.35h11.37c.67 0 1.14.27 1.41.8l25.95 42.85c.13.2.27.29.4.25.13-.03.2-.18.2-.45l-.1-42.25c0-.33.12-.62.35-.85m31.54 66.44c-4.02-2.95-6.77-6.97-8.25-12.07q-1.41-4.725-1.41-10.26c0-3.96.47-7.51 1.41-10.66 1.54-4.96 4.33-8.85 8.35-11.67s8.85-4.22 14.49-4.22 10.19 1.39 14.08 4.17 6.64 6.66 8.25 11.62c1.07 3.35 1.61 6.88 1.61 10.56s-.47 7.01-1.41 10.16c-1.48 5.23-4.21 9.34-8.2 12.32-3.99 2.99-8.8 4.48-14.43 4.48s-10.46-1.47-14.49-4.43m20.12-9.76c1.54-1.34 2.65-3.18 3.32-5.53.54-2.15.8-4.49.8-7.04 0-2.82-.27-5.2-.8-7.14-.74-2.28-1.88-4.06-3.42-5.33s-3.42-1.91-5.63-1.91-4.17.64-5.68 1.91c-1.51 1.28-2.6 3.05-3.27 5.33-.54 1.61-.8 3.99-.8 7.14s.23 5.37.7 7.04c.67 2.35 1.79 4.19 3.37 5.53 1.57 1.34 3.5 2.01 5.78 2.01s4.09-.67 5.63-2.01m35.81 12.38-16.1-49.39c-.07-.13-.1-.3-.1-.5 0-.6.37-.91 1.11-.91h12.98c.74 0 1.21.34 1.41 1.01l8.25 30.48q.105.3.3.3c.195 0 .23-.1.3-.3l8.25-30.48c.2-.67.67-1.01 1.41-1.01l12.98.2c.4 0 .7.12.91.35.2.24.23.59.1 1.06l-16 49.19c-.2.67-.64 1.01-1.31 1.01h-13.18c-.67 0-1.11-.33-1.31-1.01m39.18-58.8c-1.51-1.51-2.26-3.4-2.26-5.68s.74-4.26 2.21-5.73 3.39-2.21 5.73-2.21 4.26.74 5.73 2.21c1.47 1.48 2.21 3.39 2.21 5.73s-.75 4.17-2.26 5.68-3.4 2.26-5.68 2.26-4.17-.75-5.68-2.26m-1.21 59.45c-.24-.23-.35-.52-.35-.85V41.6c0-.33.12-.62.35-.85s.52-.35.86-.35h11.77c.33 0 .62.12.85.35.23.24.35.52.35.85v49.39c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35m55.18-49.89c3.42 1.51 6.09 3.57 8 6.19s2.87 5.53 2.87 8.75v34.1c0 .34-.12.62-.35.85-.24.24-.52.35-.86.35h-11.77c-.34 0-.62-.12-.85-.35-.24-.23-.35-.52-.35-.85v-3.32c0-.2-.07-.33-.2-.4s-.27 0-.4.2c-2.82 3.69-7.34 5.53-13.58 5.53-5.23 0-9.46-1.27-12.67-3.82-3.22-2.55-4.83-6.3-4.83-11.27s1.81-9.17 5.43-12.02 8.78-4.28 15.49-4.28h10.26c.33 0 .5-.17.5-.5V58.9c0-2.21-.67-3.94-2.01-5.18s-3.35-1.86-6.04-1.86c-2.08 0-3.81.37-5.18 1.11-1.38.74-2.26 1.78-2.67 3.12-.2.74-.64 1.07-1.31 1.01l-12.17-1.61c-.8-.13-1.17-.43-1.11-.91.27-2.82 1.39-5.36 3.37-7.64s4.59-4.06 7.85-5.33c3.25-1.27 6.89-1.91 10.91-1.91 4.36 0 8.25.75 11.67 2.26Zm-6.34 38.17c2.01-1.54 3.02-3.52 3.02-5.94v-3.62c0-.33-.17-.5-.5-.5h-7.24c-3.02 0-5.38.57-7.09 1.71s-2.56 2.75-2.56 4.83c0 1.81.64 3.24 1.91 4.28q1.905 1.56 5.13 1.56c2.88 0 5.33-.77 7.34-2.31Zm72.73-58.34h11.77c.33 0 .62.12.86.35.23.24.35.52.35.85v68c0 .34-.12.62-.35.85s-.52.35-.86.35h-11.77c-.34 0-.62-.12-.86-.35s-.35-.52-.35-.85V46.62c0-.27-.07-.4-.2-.4s-.27.1-.4.3l-10.66 16.7c-.34.54-.8.8-1.41.8h-5.94c-.6 0-1.07-.27-1.41-.8l-10.66-16.7c-.13-.2-.27-.29-.4-.25-.14.03-.2.19-.2.45v44.26c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35s-.35-.52-.35-.85v-68c0-.33.12-.62.35-.85s.52-.35.86-.35h11.77c.6 0 1.07.27 1.41.8l15.09 23.44q.3.6.6 0l15.19-23.44c.33-.54.8-.8 1.41-.8Zm24.29 10.61c-1.51-1.51-2.26-3.4-2.26-5.68s.74-4.26 2.21-5.73 3.39-2.21 5.73-2.21 4.26.74 5.73 2.21c1.47 1.48 2.21 3.39 2.21 5.73s-.75 4.17-2.26 5.68-3.4 2.26-5.68 2.26-4.17-.75-5.68-2.26m-1.2 59.45c-.24-.23-.35-.52-.35-.85V41.6c0-.33.12-.62.35-.85s.52-.35.86-.35h11.77c.33 0 .62.12.85.35.23.24.35.52.35.85v49.39c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35m62.82-47.23c3.29 3.29 4.93 7.75 4.93 13.38v33c0 .34-.12.62-.35.85-.24.24-.52.35-.86.35h-11.77c-.34 0-.62-.12-.85-.35-.24-.23-.35-.52-.35-.85V60.91c0-2.68-.75-4.86-2.26-6.54-1.51-1.67-3.51-2.51-5.99-2.51s-4.48.84-5.99 2.51c-1.51 1.68-2.26 3.86-2.26 6.54v30.08c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35s-.35-.52-.35-.85V41.7c0-.33.12-.62.35-.85s.52-.35.86-.35h11.77c.33 0 .62.12.85.35.23.24.35.52.35.85v3.52c0 .2.07.34.2.4.13.07.23.04.3-.1 2.75-3.89 6.84-5.83 12.27-5.83s9.69 1.64 12.98 4.93Zm45.22-22.48c.23-.23.52-.35.86-.35h11.77c.33 0 .62.12.85.35.23.24.35.52.35.85v68c0 .34-.12.62-.35.85-.24.24-.52.35-.85.35h-11.77c-.34 0-.62-.12-.86-.35s-.35-.52-.35-.85v-3.32c0-.2-.07-.32-.2-.35s-.27.02-.4.15c-2.82 3.69-6.67 5.53-11.57 5.53s-8.74-1.31-12.12-3.92c-3.39-2.62-5.82-6.2-7.29-10.76-1.14-3.49-1.71-7.54-1.71-12.17s.6-8.92 1.81-12.47c1.54-4.29 3.97-7.7 7.29-10.21s7.43-3.77 12.32-3.77 8.58 1.68 11.27 5.03c.13.2.27.27.4.2s.2-.2.2-.4V22.99c0-.33.12-.62.35-.85Zm-.46 44.21c0-4.49-.74-8.01-2.21-10.56-1.54-2.62-3.79-3.92-6.74-3.92-3.15 0-5.53 1.31-7.14 3.92-1.68 2.62-2.51 6.17-2.51 10.66 0 4.02.7 7.38 2.11 10.06 1.68 2.88 4.16 4.33 7.44 4.33 3.02 0 5.36-1.44 7.04-4.33 1.34-2.48 2.01-5.87 2.01-10.16\"\u002F>\u003Cpath d=\"M64.74 36.5c-2.83 3.89-6.69 6.92-10.81 9.41a60.6 60.6 0 0 1-11.17 5.26c-4.99 1.74-10.18 2.82-15.27 4.26-.43.12-.86.24-1.29.37-5.49 1.63-10.94 3.86-15.25 7.64-2.03 1.78-3.77 3.94-5.02 6.33-1.02-.92-2-1.99-2.92-3.25-3.32-4.54-3.85-10.74-1.76-15.96s6.16-9.4 10.52-12.94c8.31-6.74 17.95-11.6 26.97-17.35 8.4-5.36 16.51-11.76 21.6-20.26 2.46 5.26 4.82 10.57 6.76 16.03.8 2.26 1.54 4.57 1.75 6.96.43 4.79-1.29 9.61-4.12 13.51Z\" style=\"fill:url(#a)\"\u002F>\u003Cpath d=\"M45.43 55.68c-1.11.68-1.82 1.51-2.92 2.19-2.61 1.6-4.84 3.31-7.07 5.41-3.1 2.93-6.02 6.43-7.24 10.52-6.07.93-15.16 2.37-22.28-4.03 1.25-2.39 2.99-4.55 5.02-6.33 4.31-3.78 9.76-6.01 15.25-7.64.43-.13.86-.25 1.29-.37 3.6 1.45 7.72 1.77 11.62 1.37 2.13-.22 4.24-.62 6.33-1.12\" style=\"fill:url(#b)\"\u002F>\u003Cpath d=\"M45.35 55.73c-6.01 3.95-12.45 7.57-15.83 14.24-2.54 5.02-2.85 10.91-2.09 16.48 1.2 8.85 4.88 17.14 8.52 25.3.56-7.86 4.65-15.08 9.73-21.1 2.87-3.4 6.07-6.5 9.3-9.55 4.4-4.16 9.11-8.25 12.32-13.46 1.55-2.51 2.49-5.6 1.63-8.42-.72-2.34-2.64-4.2-4.88-5.2s-4.76-1.21-7.2-.98c-3.9.36-7.62 1.73-11.41 2.62\" style=\"fill:url(#c)\"\u002F>",{"left":4,"top":4,"width":10,"height":11,"rotate":4,"vFlip":7,"hFlip":7,"body":12},258,55.93,"\u003Cpath fill=\"currentColor\" d=\"M100.35 1.99v26.76h-4.7V7.78h-.08l-8.41 20.97h-3.12L75.42 7.78h-.05v20.97h-4.35V1.99h6.74l7.79 19.84h.11l8.22-19.84zm3.93 2.04c0-.72.29-1.4.82-1.88.53-.5 1.23-.77 1.96-.76.74-.02 1.46.26 2 .77.51.48.8 1.15.79 1.86 0 .71-.28 1.38-.81 1.85-.54.5-1.25.76-1.98.75a2.77 2.77 0 0 1-1.98-.76 2.43 2.43 0 0 1-.8-1.84m5.05 24.73h-4.57V9.57h4.57zm13.8-3.28c.77-.02 1.53-.18 2.25-.47.81-.31 1.57-.72 2.27-1.23v4.2c-.78.43-1.62.74-2.49.93-1 .22-2.03.33-3.05.32a9.42 9.42 0 0 1-6.97-2.68 9.24 9.24 0 0 1-2.68-6.84c-.1-2.8.88-5.53 2.74-7.62q2.745-3 7.77-3c.88 0 1.75.11 2.6.33.73.16 1.43.42 2.09.76v4.33c-.67-.49-1.39-.89-2.16-1.18-.72-.28-1.49-.42-2.26-.42-1.64-.07-3.22.56-4.37 1.74a6.5 6.5 0 0 0-1.66 4.68c-.1 1.67.48 3.3 1.6 4.54a5.78 5.78 0 0 0 4.34 1.62m17.51-16.23c.33 0 .66.02.98.07.25.04.5.1.74.19v4.57c-.32-.22-.68-.38-1.05-.5-.54-.17-1.11-.25-1.67-.23-1.12 0-2.17.51-2.84 1.4a6.66 6.66 0 0 0-1.16 4.31v9.68h-4.57V9.56h4.57v3.02h.07c.37-.99 1.03-1.84 1.89-2.45.9-.61 1.96-.92 3.04-.89m1.99 10.2c-.15-2.78.84-5.5 2.72-7.54 2.03-1.94 4.76-2.94 7.56-2.78 2.64-.15 5.23.82 7.12 2.68 1.78 1.98 2.7 4.58 2.56 7.23.14 2.74-.85 5.42-2.72 7.43a9.9 9.9 0 0 1-7.41 2.76c-2.65.14-5.24-.81-7.17-2.62a9.56 9.56 0 0 1-2.65-7.16m4.76-.15c-.11 1.65.38 3.28 1.38 4.59a4.95 4.95 0 0 0 3.95 1.59c1.44.09 2.85-.49 3.8-1.59a7.28 7.28 0 0 0 1.3-4.7c.12-1.67-.36-3.33-1.35-4.68a4.71 4.71 0 0 0-3.79-1.58c-1.49-.08-2.92.53-3.9 1.65a7.12 7.12 0 0 0-1.39 4.71m21.99-4.67c-.03.57.2 1.13.62 1.52.85.59 1.78 1.06 2.76 1.39 1.46.48 2.78 1.32 3.85 2.43.75.93 1.14 2.09 1.11 3.28.05 1.71-.74 3.33-2.11 4.35a9.05 9.05 0 0 1-5.7 1.64c-.9 0-1.79-.11-2.67-.29-.85-.16-1.69-.4-2.49-.74v-4.44c.83.57 1.73 1.03 2.68 1.36.84.31 1.72.48 2.61.5.79.05 1.57-.1 2.29-.43.5-.3.79-.86.74-1.44 0-.62-.28-1.2-.77-1.58-.89-.63-1.87-1.13-2.9-1.48a9 9 0 0 1-3.59-2.35 5.1 5.1 0 0 1-1.06-3.32c-.03-1.67.75-3.26 2.09-4.26a8.38 8.38 0 0 1 5.42-1.67c.77 0 1.53.08 2.29.22.72.12 1.43.31 2.12.58v4.3c-.66-.43-1.37-.77-2.12-1.03-.77-.28-1.58-.42-2.4-.43-.71-.04-1.42.13-2.03.5-.47.3-.74.83-.73 1.38m10.33 4.84c-.15-2.78.83-5.5 2.72-7.54 2.02-1.94 4.76-2.94 7.56-2.78 2.64-.15 5.23.82 7.12 2.68 1.78 1.98 2.7 4.58 2.56 7.23.14 2.74-.84 5.42-2.72 7.43a9.9 9.9 0 0 1-7.41 2.76c-2.65.14-5.24-.81-7.17-2.62a9.56 9.56 0 0 1-2.65-7.16m4.76-.15c-.11 1.65.38 3.28 1.38 4.59a4.95 4.95 0 0 0 3.95 1.59c1.45.09 2.85-.49 3.8-1.59a7.28 7.28 0 0 0 1.3-4.7c.12-1.67-.36-3.33-1.35-4.68a4.71 4.71 0 0 0-3.79-1.58c-1.49-.08-2.92.53-3.9 1.65a7.12 7.12 0 0 0-1.39 4.71M210.44.01c.49 0 .98.02 1.47.08.39.05.77.13 1.13.25v3.9a4.5 4.5 0 0 0-2.09-.51c-.83-.05-1.64.27-2.21.89-.57.75-.84 1.68-.78 2.62v2.32h4.33v3.69h-4.33v15.49h-4.64V13.25h-3.25V9.56h3.25V6.89c-.06-1.86.66-3.66 1.99-4.96 1.38-1.31 3.22-2 5.11-1.93\"\u002F>\u003Cpath fill=\"currentColor\" d=\"M222.12 25.47c.33 0 .65-.07.96-.19.34-.11.67-.26.97-.45v3.73c-.46.22-.95.37-1.45.45-.66.14-1.32.2-1.99.21a5.73 5.73 0 0 1-4.34-1.52 6.45 6.45 0 0 1-1.45-4.58v-9.85h-3.19v-3.7h3.19V5.26l4.59-1.38v5.69h4.63v3.7h-4.63v8.97c-.08.88.15 1.77.65 2.5.55.53 1.29.79 2.05.73M70.3 54.96v-2.87c.28.25.6.46.93.63.37.19.75.35 1.15.48s.8.23 1.21.3c.37.07.74.1 1.12.1.92.06 1.84-.14 2.65-.59.57-.37.9-1.02.87-1.7 0-.37-.09-.73-.29-1.04-.22-.32-.49-.59-.81-.8-.39-.27-.8-.5-1.23-.7-.47-.22-.98-.46-1.51-.7-.58-.31-1.12-.61-1.62-.93-.47-.29-.91-.64-1.3-1.04-.36-.37-.66-.81-.87-1.28-.22-.53-.33-1.1-.32-1.68-.02-.72.17-1.44.54-2.06.36-.58.85-1.07 1.43-1.44.62-.39 1.3-.68 2.01-.84a10 10 0 0 1 2.3-.28c1.33-.08 2.65.13 3.9.6v2.76a6.24 6.24 0 0 0-3.73-1.03c-.42 0-.84.04-1.25.12-.39.07-.77.2-1.12.39-.31.17-.59.4-.8.69-.21.3-.32.66-.31 1.02 0 .34.07.68.24.97.18.29.41.55.69.75.35.25.72.48 1.12.66.44.21.95.45 1.53.7q.885.465 1.68.96c.5.32.97.69 1.39 1.11.39.39.71.85.95 1.35.24.53.36 1.11.35 1.69.07 1.46-.67 2.84-1.93 3.59-.63.38-1.32.65-2.04.8-.8.17-1.62.25-2.43.25-.28 0-.64-.02-1.05-.06-.42-.04-.84-.11-1.28-.19-.42-.08-.83-.18-1.24-.3-.33-.09-.64-.23-.94-.4m18.63.96a5.78 5.78 0 0 1-6.17-6.14 6.3 6.3 0 0 1 1.75-4.73 6.46 6.46 0 0 1 4.72-1.7c1.65-.1 3.26.5 4.44 1.65a6.34 6.34 0 0 1 1.59 4.59 5.925 5.925 0 0 1-6.33 6.33m.13-10.4c-.98-.04-1.92.37-2.55 1.11-.67.88-1 1.97-.94 3.07-.06 1.07.28 2.13.95 2.97.64.73 1.57 1.12 2.54 1.08.95.06 1.88-.34 2.5-1.07.63-.88.94-1.95.87-3.04a4.77 4.77 0 0 0-.87-3.06 3 3 0 0 0-2.5-1.08m9-7.64h2.77v17.78h-2.77zm16.96 17.78h-2.75v-1.9h-.05c-.7 1.4-2.16 2.25-3.73 2.18-2.87 0-4.31-1.7-4.31-5.11v-7.18h2.75v6.9c0 2.16.84 3.24 2.53 3.24.77.02 1.51-.31 2.01-.89.55-.65.83-1.48.79-2.33v-6.91H115v12.01m10.01-.14c-.67.29-1.4.43-2.13.4-2.36 0-3.54-1.12-3.54-3.35v-6.79h-2.03v-2.13h2.03v-2.78l2.76-.77v3.55h2.91v2.13h-2.91v6c-.05.54.09 1.08.39 1.52.35.34.83.51 1.31.46.44 0 .87-.13 1.21-.4zm3.76-14.4c-.43 0-.84-.15-1.16-.43a1.44 1.44 0 0 1-.48-1.1c0-.42.17-.83.48-1.11.31-.29.73-.45 1.16-.44.44-.01.86.15 1.19.44.32.28.5.69.49 1.11 0 .42-.18.81-.49 1.08-.32.3-.75.46-1.19.45m1.37 14.53h-2.76V43.62h2.76zm8.99.28a5.78 5.78 0 0 1-6.17-6.14 6.3 6.3 0 0 1 1.75-4.73 6.46 6.46 0 0 1 4.72-1.7c1.65-.1 3.26.5 4.44 1.65a6.34 6.34 0 0 1 1.59 4.59 5.925 5.925 0 0 1-6.33 6.33m.13-10.4c-.98-.04-1.92.37-2.55 1.11-.67.88-1 1.97-.94 3.07-.06 1.07.28 2.13.95 2.97.64.73 1.58 1.12 2.54 1.08.96.06 1.88-.34 2.5-1.07.63-.88.94-1.95.87-3.04a4.77 4.77 0 0 0-.87-3.06 3 3 0 0 0-2.5-1.08m19.83 10.14h-2.76v-6.77c0-2.24-.8-3.37-2.41-3.37-.8-.02-1.56.32-2.08.93-.56.65-.85 1.49-.82 2.35v6.85h-2.77V43.61h2.76v1.99h.05a4.37 4.37 0 0 1 3.94-2.28c1.15-.07 2.27.4 3.03 1.27a5.7 5.7 0 0 1 1.04 3.68v7.34m2.62-.36v-2.52c.97.76 2.17 1.16 3.41 1.16 1.66 0 2.49-.48 2.49-1.45 0-.25-.07-.5-.21-.7a1.9 1.9 0 0 0-.58-.51c-.27-.16-.56-.3-.85-.4-.33-.12-.7-.25-1.1-.4-.46-.18-.91-.39-1.35-.62-.37-.19-.71-.45-1-.74-.26-.27-.47-.59-.6-.94-.14-.39-.21-.81-.2-1.23 0-.54.13-1.07.42-1.53.28-.45.67-.83 1.12-1.11.49-.31 1.03-.54 1.59-.68.6-.15 1.22-.23 1.84-.23 1.03-.02 2.05.15 3.02.5v2.38c-.87-.58-1.9-.89-2.95-.87-.32 0-.63.03-.94.1-.25.06-.5.16-.72.29-.19.11-.35.27-.46.45-.11.17-.17.37-.17.58 0 .23.05.46.17.66.12.19.29.36.49.47.25.15.51.28.78.38.3.11.65.24 1.05.37.48.19.95.41 1.41.64.39.2.74.45 1.06.74.29.27.52.6.68.96.17.41.25.85.24 1.3 0 .56-.13 1.12-.43 1.6-.29.46-.68.84-1.14 1.13-.51.31-1.06.53-1.64.66-.64.15-1.3.22-1.97.22-1.19.03-2.36-.2-3.46-.66m21.06-5.72v6.1h-2.82V38.81h5.17c1.63-.1 3.24.38 4.55 1.35 1.1.95 1.7 2.35 1.62 3.8.05 1.52-.57 2.98-1.69 4.01a6.45 6.45 0 0 1-4.56 1.56zm0-8.42v6.14h1.83c.99.07 1.98-.23 2.77-.83.65-.6 1-1.46.95-2.35 0-1.98-1.16-2.97-3.49-2.97h-2.06m19.72 14.53h-2.67v-1.88h-.05a4.02 4.02 0 0 1-3.69 2.16c-1.03.06-2.03-.29-2.81-.96a3.33 3.33 0 0 1-1.02-2.54c0-2.27 1.32-3.59 3.97-3.96l3.61-.5c0-1.71-.82-2.57-2.47-2.57a5.9 5.9 0 0 0-3.92 1.48v-2.39a8.64 8.64 0 0 1 4.44-1.13c3.07 0 4.61 1.49 4.61 4.48zm-2.66-5.9-2.55.35c-.63.05-1.24.24-1.79.57-.43.35-.66.9-.6 1.46 0 .48.19.94.55 1.25.42.34.94.51 1.48.49.79.02 1.55-.3 2.08-.87.55-.6.85-1.39.82-2.2v-1.04m13.09-3.53a2.36 2.36 0 0 0-1.44-.39c-.82 0-1.58.41-2.04 1.09a4.8 4.8 0 0 0-.82 2.97v5.75h-2.76V43.62h2.76v2.47h.05c.22-.76.65-1.45 1.24-1.98.52-.46 1.18-.71 1.87-.71.39-.02.78.05 1.14.22v2.58m9.06 9.3c-.67.29-1.4.43-2.13.4-2.36 0-3.54-1.12-3.54-3.35v-6.79h-2.03v-2.13h2.03v-2.78l2.76-.77v3.55h2.91v2.13h-2.91v6c-.05.54.09 1.08.39 1.52.35.34.82.51 1.31.46.44 0 .87-.13 1.21-.4zm13.2.13h-2.76v-6.77c0-2.24-.8-3.37-2.41-3.37-.8-.02-1.56.32-2.08.93-.56.65-.85 1.49-.82 2.35v6.85h-2.77V43.61h2.76v1.99h.05c.78-1.44 2.3-2.32 3.94-2.28 1.15-.07 2.27.4 3.03 1.27a5.75 5.75 0 0 1 1.05 3.68v7.34m13.18-5.25h-8.29c-.03.96.35 1.9 1.04 2.57.76.64 1.74.96 2.73.9 1.28 0 2.53-.4 3.57-1.15v2.19a8.2 8.2 0 0 1-4.39 1.03 5.45 5.45 0 0 1-4.21-1.64 6.54 6.54 0 0 1-1.53-4.6c-.07-1.69.54-3.33 1.68-4.57a5.48 5.48 0 0 1 4.17-1.76c1.46-.09 2.88.5 3.86 1.58a6.53 6.53 0 0 1 1.37 4.4v1.04m-2.66-1.92c.04-.82-.21-1.63-.7-2.28-.47-.55-1.18-.85-1.9-.82-.76-.01-1.49.3-2.01.86-.57.62-.93 1.4-1.02 2.24zM258 46.21a2.36 2.36 0 0 0-1.44-.39c-.82 0-1.59.41-2.04 1.09a4.8 4.8 0 0 0-.82 2.97v5.75h-2.76V43.62h2.76v2.47h.05c.22-.76.65-1.45 1.24-1.98.52-.46 1.18-.71 1.87-.71.39-.02.79.05 1.14.22v2.58\"\u002F>\u003Cpath d=\"M0 1.82h25.97v25.64H0z\" style=\"fill:#f05226\"\u002F>\u003Cpath d=\"M28.67 1.82h25.97v25.64H28.67z\" style=\"fill:#7fbb42\"\u002F>\u003Cpath d=\"M0 30.13h25.97v25.65H0z\" style=\"fill:#33a0da\"\u002F>\u003Cpath d=\"M28.67 30.13h25.97v25.65H28.67z\" style=\"fill:#fdb716\"\u002F>",[14],{"title":15,"path":16,"stem":17,"children":18,"page":7},"Docs","\u002Fdocs","docs",[19,25,31,37,43,49,55,61,75,89,107,113],{"title":20,"path":21,"stem":22,"children":23},"Introduction","\u002Fdocs\u002Fintroduction","docs\u002F1.introduction\u002Findex",[24],{"title":20,"path":21,"stem":22},{"title":26,"path":27,"stem":28,"children":29},"Subscription & Billing","\u002Fdocs\u002Fbilling","docs\u002F10.billing\u002Findex",[30],{"title":26,"path":27,"stem":28},{"title":32,"path":33,"stem":34,"children":35},"Members & Team Management","\u002Fdocs\u002Fteam-management","docs\u002F11.team-management\u002Findex",[36],{"title":32,"path":33,"stem":34},{"title":38,"path":39,"stem":40,"children":41},"Troubleshooting (FAQ)","\u002Fdocs\u002Ffaq","docs\u002F12.faq\u002Findex",[42],{"title":38,"path":39,"stem":40},{"title":44,"path":45,"stem":46,"children":47},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002Findex",[48],{"title":44,"path":45,"stem":46},{"title":50,"path":51,"stem":52,"children":53},"Dashboard","\u002Fdocs\u002Fdashboard","docs\u002F3.dashboard\u002Findex",[54],{"title":50,"path":51,"stem":52},{"title":56,"path":57,"stem":58,"children":59},"Voice Agents","\u002Fdocs\u002Fagent-configuration","docs\u002F4.agent-configuration\u002Findex",[60],{"title":56,"path":57,"stem":58},{"title":62,"path":63,"stem":64,"children":65,"page":-1},"Call Management","\u002Fdocs\u002Fcall-management","docs\u002F5.call-management\u002Findex",[66,67,71],{"title":62,"path":63,"stem":64},{"title":68,"path":69,"stem":70},"Inbound Calls","\u002Fdocs\u002Fcall-management\u002Finbound-outbound","docs\u002F5.call-management\u002F1.inbound-outbound",{"title":72,"path":73,"stem":74},"Call Transfer","\u002Fdocs\u002Fcall-management\u002Fmanual-transfer","docs\u002F5.call-management\u002F2.manual-transfer",{"title":76,"path":77,"stem":78,"children":79,"page":-1},"History & Tracking","\u002Fdocs\u002Fhistory","docs\u002F6.history\u002Findex",[80,81,85],{"title":76,"path":77,"stem":78},{"title":82,"path":83,"stem":84},"Call List and Filters","\u002Fdocs\u002Fhistory\u002Fcall-list-filters","docs\u002F6.history\u002F1.call-list-filters",{"title":86,"path":87,"stem":88},"Call Details","\u002Fdocs\u002Fhistory\u002Fcall-details","docs\u002F6.history\u002F2.call-details",{"title":90,"path":91,"stem":92,"children":93,"page":-1},"Contacts & Leads","\u002Fdocs\u002Fcontacts","docs\u002F7.contacts\u002Findex",[94,95,99,103],{"title":90,"path":91,"stem":92},{"title":96,"path":97,"stem":98},"Leads and Real Estate Agents","\u002Fdocs\u002Fcontacts\u002Fcontacts-list","docs\u002F7.contacts\u002F1.contacts-list",{"title":100,"path":101,"stem":102},"Lead Tracking","\u002Fdocs\u002Fcontacts\u002Fprospect-lifecycle","docs\u002F7.contacts\u002F2.prospect-lifecycle",{"title":104,"path":105,"stem":106},"Lead Creation and Management","\u002Fdocs\u002Fcontacts\u002Fimport-export","docs\u002F7.contacts\u002F3.import-export",{"title":108,"path":109,"stem":110,"children":111},"Calendar & Appointment Booking","\u002Fdocs\u002Fscheduling","docs\u002F8.scheduling\u002Findex",[112],{"title":108,"path":109,"stem":110},{"title":114,"path":115,"stem":116,"children":117,"page":-1},"Integrations","\u002Fdocs\u002Fintegrations","docs\u002F9.integrations\u002Findex",[118,119,123,127],{"title":114,"path":115,"stem":116},{"title":120,"path":121,"stem":122},"Overview and Information Flow","\u002Fdocs\u002Fintegrations\u002Foverview","docs\u002F9.integrations\u002F1.overview",{"title":124,"path":125,"stem":126},"CRM Integrations","\u002Fdocs\u002Fintegrations\u002Fcrm-integrations","docs\u002F9.integrations\u002F2.crm-integrations",{"title":128,"path":129,"stem":130},"Outbound Webhooks","\u002Fdocs\u002Fintegrations\u002Fwebhooks","docs\u002F9.integrations\u002F3.webhooks",{"page":132},{"id":133,"title":128,"body":134,"description":2435,"extension":2436,"icon":2437,"meta":2438,"navigation":1847,"path":129,"redirect":2439,"seo":2440,"sitemap":2441,"stem":130,"__hash__":2442},"docs_en\u002Fdocs\u002F9.integrations\u002F3.webhooks.md",{"type":135,"value":136,"toc":2421},"minimark",[137,142,154,161,164,169,250,253,255,259,308,326,331,333,337,344,444,447,501,509,522,551,1379,1425,1434,1613,1622,1770,1788,1792,1811,2249,2270,2277,2279,2283,2291,2293,2297,2334,2338,2344,2346,2350,2388,2408,2417],[138,139,141],"h1",{"id":140},"_8-integrations-outbound-webhooks","8. Integrations — Outbound Webhooks",[143,144,145,149,150,153],"p",{},[146,147,148],"strong",{},"Outbound webhooks"," let NoviaMind notify your own systems the moment your CRM data changes — instead of you polling the API. Typical uses: triggering an ",[146,151,152],{},"n8n \u002F Make \u002F Zapier workflow"," when a new prospect is captured, or keeping an in-house tool in sync.",[143,155,156,157,160],{},"Access them from ",[146,158,159],{},"Integrations → Outbound Webhooks"," in the CRM section.",[162,163],"hr",{},[165,166,168],"h2",{"id":167},"_89-available-events","8.9 Available Events",[170,171,172,185],"table",{},[173,174,175],"thead",{},[176,177,178,182],"tr",{},[179,180,181],"th",{},"Event",[179,183,184],{},"Sent when",[186,187,188,200,210,220,230,240],"tbody",{},[176,189,190,197],{},[191,192,193],"td",{},[194,195,196],"code",{},"lead.created",[191,198,199],{},"A prospect is created",[176,201,202,207],{},[191,203,204],{},[194,205,206],{},"lead.updated",[191,208,209],{},"A prospect is updated",[176,211,212,217],{},[191,213,214],{},[194,215,216],{},"property.created",[191,218,219],{},"A property is created",[176,221,222,227],{},[191,223,224],{},[194,225,226],{},"property.updated",[191,228,229],{},"A property is updated",[176,231,232,237],{},[191,233,234],{},[194,235,236],{},"realtor.created",[191,238,239],{},"A realtor is created",[176,241,242,247],{},[191,243,244],{},[194,245,246],{},"realtor.updated",[191,248,249],{},"A realtor is updated",[143,251,252],{},"A webhook subscribes to one or more events — only those trigger a delivery to your URL.",[162,254],{},[165,256,258],{"id":257},"_810-creating-a-webhook","8.10 Creating a Webhook",[260,261,262,268,274,289,296,303],"ol",{},[263,264,265,266],"li",{},"Go to ",[146,267,159],{},[263,269,270,271],{},"Click on ",[146,272,273],{},"\"Add webhook\"",[263,275,276,277,280,281,284,285,288],{},"Enter your ",[146,278,279],{},"callback URL"," (must be ",[194,282,283],{},"https:\u002F\u002F"," in production; ",[194,286,287],{},"http:\u002F\u002F"," is accepted only for local testing, e.g. an ngrok tunnel)",[263,290,291,292,295],{},"Optionally add a ",[146,293,294],{},"description"," (e.g. \"n8n production workflow\")",[263,297,298,299,302],{},"Select the ",[146,300,301],{},"events"," to subscribe to",[263,304,270,305],{},[146,306,307],{},"\"Save\"",[309,310,311],"blockquote",{},[143,312,313,314,317,318,321,322,325],{},"⚠️ ",[146,315,316],{},"Store the signing secret immediately."," After creation, NoviaMind shows the secret (",[194,319,320],{},"whsec_...",") ",[146,323,324],{},"once and only once",". Every later view shows it masked. If you lose it, delete the webhook and create a new one.",[309,327,328],{},[143,329,330],{},"💡 URLs pointing to private or internal network addresses are rejected for security reasons.",[162,332],{},[165,334,336],{"id":335},"_811-what-your-endpoint-receives","8.11 What Your Endpoint Receives",[143,338,339,340,343],{},"Each delivery is an HTTP ",[194,341,342],{},"POST"," with a JSON body:",[345,346,351],"pre",{"className":347,"code":348,"language":349,"meta":350,"style":350},"language-json shiki shiki-themes github-light github-dark","{\n  \"id\": \"d3f5c9a2-...\",\n  \"event\": \"lead.created\",\n  \"team_id\": \"b81e07c4-...\",\n  \"created_at\": \"2026-07-30T14:20:11.000Z\",\n  \"data\": { \"...\": \"the created or updated entity — shape depends on `event`, see below\" }\n}\n","json","",[194,352,353,362,379,392,405,418,438],{"__ignoreMap":350},[354,355,358],"span",{"class":356,"line":357},"line",1,[354,359,361],{"class":360},"sVt8B","{\n",[354,363,365,369,372,376],{"class":356,"line":364},2,[354,366,368],{"class":367},"sj4cs","  \"id\"",[354,370,371],{"class":360},": ",[354,373,375],{"class":374},"sZZnC","\"d3f5c9a2-...\"",[354,377,378],{"class":360},",\n",[354,380,382,385,387,390],{"class":356,"line":381},3,[354,383,384],{"class":367},"  \"event\"",[354,386,371],{"class":360},[354,388,389],{"class":374},"\"lead.created\"",[354,391,378],{"class":360},[354,393,395,398,400,403],{"class":356,"line":394},4,[354,396,397],{"class":367},"  \"team_id\"",[354,399,371],{"class":360},[354,401,402],{"class":374},"\"b81e07c4-...\"",[354,404,378],{"class":360},[354,406,408,411,413,416],{"class":356,"line":407},5,[354,409,410],{"class":367},"  \"created_at\"",[354,412,371],{"class":360},[354,414,415],{"class":374},"\"2026-07-30T14:20:11.000Z\"",[354,417,378],{"class":360},[354,419,421,424,427,430,432,435],{"class":356,"line":420},6,[354,422,423],{"class":367},"  \"data\"",[354,425,426],{"class":360},": { ",[354,428,429],{"class":367},"\"...\"",[354,431,371],{"class":360},[354,433,434],{"class":374},"\"the created or updated entity — shape depends on `event`, see below\"",[354,436,437],{"class":360}," }\n",[354,439,441],{"class":356,"line":440},7,[354,442,443],{"class":360},"}\n",[143,445,446],{},"And these headers:",[170,448,449,459],{},[173,450,451],{},[176,452,453,456],{},[179,454,455],{},"Header",[179,457,458],{},"Content",[186,460,461,475,488],{},[176,462,463,468],{},[191,464,465],{},[194,466,467],{},"X-Webhook-Id",[191,469,470,471,474],{},"Unique delivery ID (also the ",[194,472,473],{},"id"," in the body)",[176,476,477,482],{},[191,478,479],{},[194,480,481],{},"X-Webhook-Event",[191,483,484,485,487],{},"Event name (e.g. ",[194,486,196],{},")",[176,489,490,495],{},[191,491,492],{},[194,493,494],{},"X-Webhook-Signature",[191,496,497,500],{},[194,498,499],{},"sha256=\u003Chex>"," — HMAC-SHA256 signature of the raw body",[502,503,505,508],"h3",{"id":504},"data-format-per-entity",[194,506,507],{},"data"," format per entity",[143,510,511,513,514,517,518,521],{},[194,512,507],{}," is ",[146,515,516],{},"not"," a curated response DTO — it's the full lead\u002Fproperty\u002Frealtor row as stored, so it can carry more fields than are documented below (treat unknown fields as forward-compatible, don't reject on them) and every nullable field you don't use is simply ",[194,519,520],{},"null",".",[143,523,524,526,527,529,530,532,533,536,537,526,540,543,544,546,547,550],{},[194,525,196],{}," \u002F ",[194,528,206],{}," — ",[194,531,507],{}," is the lead. Real capture (from an AI-agent call, secrets\u002FPII shortened, ",[194,534,535],{},"notes"," and the AI data-collection blocks in ",[194,538,539],{},"custom_fields",[194,541,542],{},"raw_data"," truncated for length — in practice ",[194,545,535],{}," is the full call summary and ",[194,548,549],{},"custom_fields.*"," has one entry per configured collection field):",[345,552,554],{"className":347,"code":553,"language":349,"meta":350,"style":350},"{\n  \"id\": \"d80029a4-8324-4fad-afe2-ad1af76319fe\",\n  \"team_id\": \"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d\",\n  \"source_provider\": \"noviamind\",\n  \"external_reference\": \"conv-XXX\",\n  \"first_name\": \"Didier\",\n  \"last_name\": \"Deschamps\",\n  \"email\": null,\n  \"phone\": \"+33618276741\",\n  \"mobile_phone\": null,\n  \"company\": null,\n  \"job_title\": null,\n  \"status\": \"new\",\n  \"source_channel\": \"ai_agent\",\n  \"source_channel_detail\": null,\n  \"notes\": \"L'utilisateur, Didier Deschamps, a contacté l'agent Giulia pour l'achat d'un T3 à Saint-Jean-Pied-de-Port et a demandé à être rappelé par son conseiller habituel. [...truncated — full call summary, can include prior calls appended]\",\n  \"tags\": [\"rent\", \"ai_agent_lead\"],\n  \"assigned_realtor_external_id\": null,\n  \"interested_property_ids\": [],\n  \"priority\": \"medium\",\n  \"score\": 0,\n  \"address\": null,\n  \"city\": null,\n  \"postal_code\": null,\n  \"country\": null,\n  \"budget_min\": null,\n  \"budget_max\": 8650234,\n  \"preferred_contact_method\": null,\n  \"next_follow_up_at\": null,\n  \"last_interaction_at\": \"2026-07-31T14:55:48.316+00:00\",\n  \"sms_consent\": false,\n  \"target_zip_code\": \"64220\",\n  \"transaction_type\": \"sale\",\n  \"target_rooms\": 3,\n  \"surface_min_sqm\": 20,\n  \"preferred_area_text\": \"Saint-Jean-Pied-de-Port\",\n  \"rental_income_3x\": null,\n  \"rental_guarantee_type\": \"unknown\",\n  \"properties_presented_count\": 0,\n  \"conversion_outcome\": \"callback_scheduled\",\n  \"visit_datetime_local\": null,\n  \"call_language\": \"Français\",\n  \"customer_sentiment\": \"positive\",\n  \"requested_callback\": true,\n  \"disqualifier_reason\": \"other\",\n  \"custom_fields\": {\n    \"agent_name\": \"Agence du Pays Basque - Giulia\",\n    \"transaction_type\": {\n      \"value\": \"sale\",\n      \"rationale\": \"L'utilisateur a explicitement déclaré vouloir acheter, ce qui correspond à une transaction de type « sale ».\",\n      \"data_collection_id\": \"transaction_type\"\n    },\n    \"requested_callback\": {\n      \"value\": true,\n      \"rationale\": \"L'utilisateur a explicitement demandé à être rappelé.\",\n      \"data_collection_id\": \"requested_callback\"\n    }\n  },\n  \"raw_data\": {\n    \"data_collection_results\": {\n      \"lead_full_name\": {\n        \"value\": \"Didier Deschamps\",\n        \"rationale\": \"L'utilisateur a clairement indiqué son nom complet.\",\n        \"data_collection_id\": \"lead_full_name\"\n      }\n    }\n  },\n  \"provider_created_at\": null,\n  \"provider_updated_at\": null,\n  \"crm_pushed_at\": \"2026-07-31T12:30:10.829+00:00\",\n  \"created_at\": \"2026-06-26T16:42:06.236+00:00\",\n  \"updated_at\": \"2026-07-31T14:55:48.352+00:00\"\n}\n",[194,555,556,560,571,582,594,606,618,630,642,655,667,679,691,704,717,729,742,763,775,784,797,810,822,834,846,858,870,883,895,907,920,933,946,959,972,985,998,1010,1023,1035,1048,1060,1073,1086,1099,1112,1121,1134,1142,1154,1167,1178,1184,1192,1203,1215,1225,1231,1237,1245,1253,1261,1274,1287,1298,1304,1309,1314,1326,1338,1351,1363,1374],{"__ignoreMap":350},[354,557,558],{"class":356,"line":357},[354,559,361],{"class":360},[354,561,562,564,566,569],{"class":356,"line":364},[354,563,368],{"class":367},[354,565,371],{"class":360},[354,567,568],{"class":374},"\"d80029a4-8324-4fad-afe2-ad1af76319fe\"",[354,570,378],{"class":360},[354,572,573,575,577,580],{"class":356,"line":381},[354,574,397],{"class":367},[354,576,371],{"class":360},[354,578,579],{"class":374},"\"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d\"",[354,581,378],{"class":360},[354,583,584,587,589,592],{"class":356,"line":394},[354,585,586],{"class":367},"  \"source_provider\"",[354,588,371],{"class":360},[354,590,591],{"class":374},"\"noviamind\"",[354,593,378],{"class":360},[354,595,596,599,601,604],{"class":356,"line":407},[354,597,598],{"class":367},"  \"external_reference\"",[354,600,371],{"class":360},[354,602,603],{"class":374},"\"conv-XXX\"",[354,605,378],{"class":360},[354,607,608,611,613,616],{"class":356,"line":420},[354,609,610],{"class":367},"  \"first_name\"",[354,612,371],{"class":360},[354,614,615],{"class":374},"\"Didier\"",[354,617,378],{"class":360},[354,619,620,623,625,628],{"class":356,"line":440},[354,621,622],{"class":367},"  \"last_name\"",[354,624,371],{"class":360},[354,626,627],{"class":374},"\"Deschamps\"",[354,629,378],{"class":360},[354,631,633,636,638,640],{"class":356,"line":632},8,[354,634,635],{"class":367},"  \"email\"",[354,637,371],{"class":360},[354,639,520],{"class":367},[354,641,378],{"class":360},[354,643,645,648,650,653],{"class":356,"line":644},9,[354,646,647],{"class":367},"  \"phone\"",[354,649,371],{"class":360},[354,651,652],{"class":374},"\"+33618276741\"",[354,654,378],{"class":360},[354,656,658,661,663,665],{"class":356,"line":657},10,[354,659,660],{"class":367},"  \"mobile_phone\"",[354,662,371],{"class":360},[354,664,520],{"class":367},[354,666,378],{"class":360},[354,668,670,673,675,677],{"class":356,"line":669},11,[354,671,672],{"class":367},"  \"company\"",[354,674,371],{"class":360},[354,676,520],{"class":367},[354,678,378],{"class":360},[354,680,682,685,687,689],{"class":356,"line":681},12,[354,683,684],{"class":367},"  \"job_title\"",[354,686,371],{"class":360},[354,688,520],{"class":367},[354,690,378],{"class":360},[354,692,694,697,699,702],{"class":356,"line":693},13,[354,695,696],{"class":367},"  \"status\"",[354,698,371],{"class":360},[354,700,701],{"class":374},"\"new\"",[354,703,378],{"class":360},[354,705,707,710,712,715],{"class":356,"line":706},14,[354,708,709],{"class":367},"  \"source_channel\"",[354,711,371],{"class":360},[354,713,714],{"class":374},"\"ai_agent\"",[354,716,378],{"class":360},[354,718,720,723,725,727],{"class":356,"line":719},15,[354,721,722],{"class":367},"  \"source_channel_detail\"",[354,724,371],{"class":360},[354,726,520],{"class":367},[354,728,378],{"class":360},[354,730,732,735,737,740],{"class":356,"line":731},16,[354,733,734],{"class":367},"  \"notes\"",[354,736,371],{"class":360},[354,738,739],{"class":374},"\"L'utilisateur, Didier Deschamps, a contacté l'agent Giulia pour l'achat d'un T3 à Saint-Jean-Pied-de-Port et a demandé à être rappelé par son conseiller habituel. [...truncated — full call summary, can include prior calls appended]\"",[354,741,378],{"class":360},[354,743,745,748,751,754,757,760],{"class":356,"line":744},17,[354,746,747],{"class":367},"  \"tags\"",[354,749,750],{"class":360},": [",[354,752,753],{"class":374},"\"rent\"",[354,755,756],{"class":360},", ",[354,758,759],{"class":374},"\"ai_agent_lead\"",[354,761,762],{"class":360},"],\n",[354,764,766,769,771,773],{"class":356,"line":765},18,[354,767,768],{"class":367},"  \"assigned_realtor_external_id\"",[354,770,371],{"class":360},[354,772,520],{"class":367},[354,774,378],{"class":360},[354,776,778,781],{"class":356,"line":777},19,[354,779,780],{"class":367},"  \"interested_property_ids\"",[354,782,783],{"class":360},": [],\n",[354,785,787,790,792,795],{"class":356,"line":786},20,[354,788,789],{"class":367},"  \"priority\"",[354,791,371],{"class":360},[354,793,794],{"class":374},"\"medium\"",[354,796,378],{"class":360},[354,798,800,803,805,808],{"class":356,"line":799},21,[354,801,802],{"class":367},"  \"score\"",[354,804,371],{"class":360},[354,806,807],{"class":367},"0",[354,809,378],{"class":360},[354,811,813,816,818,820],{"class":356,"line":812},22,[354,814,815],{"class":367},"  \"address\"",[354,817,371],{"class":360},[354,819,520],{"class":367},[354,821,378],{"class":360},[354,823,825,828,830,832],{"class":356,"line":824},23,[354,826,827],{"class":367},"  \"city\"",[354,829,371],{"class":360},[354,831,520],{"class":367},[354,833,378],{"class":360},[354,835,837,840,842,844],{"class":356,"line":836},24,[354,838,839],{"class":367},"  \"postal_code\"",[354,841,371],{"class":360},[354,843,520],{"class":367},[354,845,378],{"class":360},[354,847,849,852,854,856],{"class":356,"line":848},25,[354,850,851],{"class":367},"  \"country\"",[354,853,371],{"class":360},[354,855,520],{"class":367},[354,857,378],{"class":360},[354,859,861,864,866,868],{"class":356,"line":860},26,[354,862,863],{"class":367},"  \"budget_min\"",[354,865,371],{"class":360},[354,867,520],{"class":367},[354,869,378],{"class":360},[354,871,873,876,878,881],{"class":356,"line":872},27,[354,874,875],{"class":367},"  \"budget_max\"",[354,877,371],{"class":360},[354,879,880],{"class":367},"8650234",[354,882,378],{"class":360},[354,884,886,889,891,893],{"class":356,"line":885},28,[354,887,888],{"class":367},"  \"preferred_contact_method\"",[354,890,371],{"class":360},[354,892,520],{"class":367},[354,894,378],{"class":360},[354,896,898,901,903,905],{"class":356,"line":897},29,[354,899,900],{"class":367},"  \"next_follow_up_at\"",[354,902,371],{"class":360},[354,904,520],{"class":367},[354,906,378],{"class":360},[354,908,910,913,915,918],{"class":356,"line":909},30,[354,911,912],{"class":367},"  \"last_interaction_at\"",[354,914,371],{"class":360},[354,916,917],{"class":374},"\"2026-07-31T14:55:48.316+00:00\"",[354,919,378],{"class":360},[354,921,923,926,928,931],{"class":356,"line":922},31,[354,924,925],{"class":367},"  \"sms_consent\"",[354,927,371],{"class":360},[354,929,930],{"class":367},"false",[354,932,378],{"class":360},[354,934,936,939,941,944],{"class":356,"line":935},32,[354,937,938],{"class":367},"  \"target_zip_code\"",[354,940,371],{"class":360},[354,942,943],{"class":374},"\"64220\"",[354,945,378],{"class":360},[354,947,949,952,954,957],{"class":356,"line":948},33,[354,950,951],{"class":367},"  \"transaction_type\"",[354,953,371],{"class":360},[354,955,956],{"class":374},"\"sale\"",[354,958,378],{"class":360},[354,960,962,965,967,970],{"class":356,"line":961},34,[354,963,964],{"class":367},"  \"target_rooms\"",[354,966,371],{"class":360},[354,968,969],{"class":367},"3",[354,971,378],{"class":360},[354,973,975,978,980,983],{"class":356,"line":974},35,[354,976,977],{"class":367},"  \"surface_min_sqm\"",[354,979,371],{"class":360},[354,981,982],{"class":367},"20",[354,984,378],{"class":360},[354,986,988,991,993,996],{"class":356,"line":987},36,[354,989,990],{"class":367},"  \"preferred_area_text\"",[354,992,371],{"class":360},[354,994,995],{"class":374},"\"Saint-Jean-Pied-de-Port\"",[354,997,378],{"class":360},[354,999,1001,1004,1006,1008],{"class":356,"line":1000},37,[354,1002,1003],{"class":367},"  \"rental_income_3x\"",[354,1005,371],{"class":360},[354,1007,520],{"class":367},[354,1009,378],{"class":360},[354,1011,1013,1016,1018,1021],{"class":356,"line":1012},38,[354,1014,1015],{"class":367},"  \"rental_guarantee_type\"",[354,1017,371],{"class":360},[354,1019,1020],{"class":374},"\"unknown\"",[354,1022,378],{"class":360},[354,1024,1026,1029,1031,1033],{"class":356,"line":1025},39,[354,1027,1028],{"class":367},"  \"properties_presented_count\"",[354,1030,371],{"class":360},[354,1032,807],{"class":367},[354,1034,378],{"class":360},[354,1036,1038,1041,1043,1046],{"class":356,"line":1037},40,[354,1039,1040],{"class":367},"  \"conversion_outcome\"",[354,1042,371],{"class":360},[354,1044,1045],{"class":374},"\"callback_scheduled\"",[354,1047,378],{"class":360},[354,1049,1051,1054,1056,1058],{"class":356,"line":1050},41,[354,1052,1053],{"class":367},"  \"visit_datetime_local\"",[354,1055,371],{"class":360},[354,1057,520],{"class":367},[354,1059,378],{"class":360},[354,1061,1063,1066,1068,1071],{"class":356,"line":1062},42,[354,1064,1065],{"class":367},"  \"call_language\"",[354,1067,371],{"class":360},[354,1069,1070],{"class":374},"\"Français\"",[354,1072,378],{"class":360},[354,1074,1076,1079,1081,1084],{"class":356,"line":1075},43,[354,1077,1078],{"class":367},"  \"customer_sentiment\"",[354,1080,371],{"class":360},[354,1082,1083],{"class":374},"\"positive\"",[354,1085,378],{"class":360},[354,1087,1089,1092,1094,1097],{"class":356,"line":1088},44,[354,1090,1091],{"class":367},"  \"requested_callback\"",[354,1093,371],{"class":360},[354,1095,1096],{"class":367},"true",[354,1098,378],{"class":360},[354,1100,1102,1105,1107,1110],{"class":356,"line":1101},45,[354,1103,1104],{"class":367},"  \"disqualifier_reason\"",[354,1106,371],{"class":360},[354,1108,1109],{"class":374},"\"other\"",[354,1111,378],{"class":360},[354,1113,1115,1118],{"class":356,"line":1114},46,[354,1116,1117],{"class":367},"  \"custom_fields\"",[354,1119,1120],{"class":360},": {\n",[354,1122,1124,1127,1129,1132],{"class":356,"line":1123},47,[354,1125,1126],{"class":367},"    \"agent_name\"",[354,1128,371],{"class":360},[354,1130,1131],{"class":374},"\"Agence du Pays Basque - Giulia\"",[354,1133,378],{"class":360},[354,1135,1137,1140],{"class":356,"line":1136},48,[354,1138,1139],{"class":367},"    \"transaction_type\"",[354,1141,1120],{"class":360},[354,1143,1145,1148,1150,1152],{"class":356,"line":1144},49,[354,1146,1147],{"class":367},"      \"value\"",[354,1149,371],{"class":360},[354,1151,956],{"class":374},[354,1153,378],{"class":360},[354,1155,1157,1160,1162,1165],{"class":356,"line":1156},50,[354,1158,1159],{"class":367},"      \"rationale\"",[354,1161,371],{"class":360},[354,1163,1164],{"class":374},"\"L'utilisateur a explicitement déclaré vouloir acheter, ce qui correspond à une transaction de type « sale ».\"",[354,1166,378],{"class":360},[354,1168,1170,1173,1175],{"class":356,"line":1169},51,[354,1171,1172],{"class":367},"      \"data_collection_id\"",[354,1174,371],{"class":360},[354,1176,1177],{"class":374},"\"transaction_type\"\n",[354,1179,1181],{"class":356,"line":1180},52,[354,1182,1183],{"class":360},"    },\n",[354,1185,1187,1190],{"class":356,"line":1186},53,[354,1188,1189],{"class":367},"    \"requested_callback\"",[354,1191,1120],{"class":360},[354,1193,1195,1197,1199,1201],{"class":356,"line":1194},54,[354,1196,1147],{"class":367},[354,1198,371],{"class":360},[354,1200,1096],{"class":367},[354,1202,378],{"class":360},[354,1204,1206,1208,1210,1213],{"class":356,"line":1205},55,[354,1207,1159],{"class":367},[354,1209,371],{"class":360},[354,1211,1212],{"class":374},"\"L'utilisateur a explicitement demandé à être rappelé.\"",[354,1214,378],{"class":360},[354,1216,1218,1220,1222],{"class":356,"line":1217},56,[354,1219,1172],{"class":367},[354,1221,371],{"class":360},[354,1223,1224],{"class":374},"\"requested_callback\"\n",[354,1226,1228],{"class":356,"line":1227},57,[354,1229,1230],{"class":360},"    }\n",[354,1232,1234],{"class":356,"line":1233},58,[354,1235,1236],{"class":360},"  },\n",[354,1238,1240,1243],{"class":356,"line":1239},59,[354,1241,1242],{"class":367},"  \"raw_data\"",[354,1244,1120],{"class":360},[354,1246,1248,1251],{"class":356,"line":1247},60,[354,1249,1250],{"class":367},"    \"data_collection_results\"",[354,1252,1120],{"class":360},[354,1254,1256,1259],{"class":356,"line":1255},61,[354,1257,1258],{"class":367},"      \"lead_full_name\"",[354,1260,1120],{"class":360},[354,1262,1264,1267,1269,1272],{"class":356,"line":1263},62,[354,1265,1266],{"class":367},"        \"value\"",[354,1268,371],{"class":360},[354,1270,1271],{"class":374},"\"Didier Deschamps\"",[354,1273,378],{"class":360},[354,1275,1277,1280,1282,1285],{"class":356,"line":1276},63,[354,1278,1279],{"class":367},"        \"rationale\"",[354,1281,371],{"class":360},[354,1283,1284],{"class":374},"\"L'utilisateur a clairement indiqué son nom complet.\"",[354,1286,378],{"class":360},[354,1288,1290,1293,1295],{"class":356,"line":1289},64,[354,1291,1292],{"class":367},"        \"data_collection_id\"",[354,1294,371],{"class":360},[354,1296,1297],{"class":374},"\"lead_full_name\"\n",[354,1299,1301],{"class":356,"line":1300},65,[354,1302,1303],{"class":360},"      }\n",[354,1305,1307],{"class":356,"line":1306},66,[354,1308,1230],{"class":360},[354,1310,1312],{"class":356,"line":1311},67,[354,1313,1236],{"class":360},[354,1315,1317,1320,1322,1324],{"class":356,"line":1316},68,[354,1318,1319],{"class":367},"  \"provider_created_at\"",[354,1321,371],{"class":360},[354,1323,520],{"class":367},[354,1325,378],{"class":360},[354,1327,1329,1332,1334,1336],{"class":356,"line":1328},69,[354,1330,1331],{"class":367},"  \"provider_updated_at\"",[354,1333,371],{"class":360},[354,1335,520],{"class":367},[354,1337,378],{"class":360},[354,1339,1341,1344,1346,1349],{"class":356,"line":1340},70,[354,1342,1343],{"class":367},"  \"crm_pushed_at\"",[354,1345,371],{"class":360},[354,1347,1348],{"class":374},"\"2026-07-31T12:30:10.829+00:00\"",[354,1350,378],{"class":360},[354,1352,1354,1356,1358,1361],{"class":356,"line":1353},71,[354,1355,410],{"class":367},[354,1357,371],{"class":360},[354,1359,1360],{"class":374},"\"2026-06-26T16:42:06.236+00:00\"",[354,1362,378],{"class":360},[354,1364,1366,1369,1371],{"class":356,"line":1365},72,[354,1367,1368],{"class":367},"  \"updated_at\"",[354,1370,371],{"class":360},[354,1372,1373],{"class":374},"\"2026-07-31T14:55:48.352+00:00\"\n",[354,1375,1377],{"class":356,"line":1376},73,[354,1378,443],{"class":360},[309,1380,1381,1388],{},[143,1382,1383,1384,1387],{},"💡 Internal call-tracking identifiers are stripped before this leaves NoviaMind — you'll never see a ",[194,1385,1386],{},"conversation_ids"," field, even though it's a real column on the underlying record.",[143,1389,1390,1391,1393,1394,1397,1398,1400,1401,1403,1404,756,1407,1410,1411,1414,1415,1418,1419,1421,1422,1424],{},"💡 ",[194,1392,539],{}," and ",[194,1395,1396],{},"raw_data.data_collection_results"," both come from the AI's field extraction and largely overlap (",[194,1399,542],{}," is the extraction as originally captured; ",[194,1402,539],{}," is what's actually persisted to the lead). Each entry carries ",[194,1405,1406],{},"value",[194,1408,1409],{},"rationale"," (why the AI extracted that value), and ",[194,1412,1413],{},"data_collection_id"," — some entries also carry a ",[194,1416,1417],{},"json_schema"," block describing the field's expected type\u002Fenum. ",[194,1420,1406],{}," is frequently ",[194,1423,520],{}," when the AI found nothing to extract for that field on the call.",[143,1426,1427,526,1429,529,1431,1433],{},[194,1428,216],{},[194,1430,226],{},[194,1432,507],{}," is the property:",[345,1435,1437],{"className":347,"code":1436,"language":349,"meta":350,"style":350},"{\n  \"id\": \"9c8b7a6d-...\",\n  \"team_id\": \"b81e07c4-...\",\n  \"is_sale\": true,\n  \"is_rent\": false,\n  \"property_type\": \"apartment\",\n  \"surface_sqm\": 65,\n  \"price_eur\": 320000,\n  \"rooms\": 3,\n  \"address\": \"12 Rue de Rivoli\",\n  \"city\": \"Paris\",\n  \"zip_code\": \"75004\",\n  \"title\": \"Bright 3-room apartment near the Seine\",\n  \"tags\": [\"renovated\"],\n  \"created_at\": \"2026-07-30T14:20:11.000Z\",\n  \"updated_at\": \"2026-07-30T14:20:11.000Z\"\n}\n",[194,1438,1439,1443,1454,1464,1475,1486,1498,1510,1522,1533,1544,1555,1567,1579,1590,1600,1609],{"__ignoreMap":350},[354,1440,1441],{"class":356,"line":357},[354,1442,361],{"class":360},[354,1444,1445,1447,1449,1452],{"class":356,"line":364},[354,1446,368],{"class":367},[354,1448,371],{"class":360},[354,1450,1451],{"class":374},"\"9c8b7a6d-...\"",[354,1453,378],{"class":360},[354,1455,1456,1458,1460,1462],{"class":356,"line":381},[354,1457,397],{"class":367},[354,1459,371],{"class":360},[354,1461,402],{"class":374},[354,1463,378],{"class":360},[354,1465,1466,1469,1471,1473],{"class":356,"line":394},[354,1467,1468],{"class":367},"  \"is_sale\"",[354,1470,371],{"class":360},[354,1472,1096],{"class":367},[354,1474,378],{"class":360},[354,1476,1477,1480,1482,1484],{"class":356,"line":407},[354,1478,1479],{"class":367},"  \"is_rent\"",[354,1481,371],{"class":360},[354,1483,930],{"class":367},[354,1485,378],{"class":360},[354,1487,1488,1491,1493,1496],{"class":356,"line":420},[354,1489,1490],{"class":367},"  \"property_type\"",[354,1492,371],{"class":360},[354,1494,1495],{"class":374},"\"apartment\"",[354,1497,378],{"class":360},[354,1499,1500,1503,1505,1508],{"class":356,"line":440},[354,1501,1502],{"class":367},"  \"surface_sqm\"",[354,1504,371],{"class":360},[354,1506,1507],{"class":367},"65",[354,1509,378],{"class":360},[354,1511,1512,1515,1517,1520],{"class":356,"line":632},[354,1513,1514],{"class":367},"  \"price_eur\"",[354,1516,371],{"class":360},[354,1518,1519],{"class":367},"320000",[354,1521,378],{"class":360},[354,1523,1524,1527,1529,1531],{"class":356,"line":644},[354,1525,1526],{"class":367},"  \"rooms\"",[354,1528,371],{"class":360},[354,1530,969],{"class":367},[354,1532,378],{"class":360},[354,1534,1535,1537,1539,1542],{"class":356,"line":657},[354,1536,815],{"class":367},[354,1538,371],{"class":360},[354,1540,1541],{"class":374},"\"12 Rue de Rivoli\"",[354,1543,378],{"class":360},[354,1545,1546,1548,1550,1553],{"class":356,"line":669},[354,1547,827],{"class":367},[354,1549,371],{"class":360},[354,1551,1552],{"class":374},"\"Paris\"",[354,1554,378],{"class":360},[354,1556,1557,1560,1562,1565],{"class":356,"line":681},[354,1558,1559],{"class":367},"  \"zip_code\"",[354,1561,371],{"class":360},[354,1563,1564],{"class":374},"\"75004\"",[354,1566,378],{"class":360},[354,1568,1569,1572,1574,1577],{"class":356,"line":693},[354,1570,1571],{"class":367},"  \"title\"",[354,1573,371],{"class":360},[354,1575,1576],{"class":374},"\"Bright 3-room apartment near the Seine\"",[354,1578,378],{"class":360},[354,1580,1581,1583,1585,1588],{"class":356,"line":706},[354,1582,747],{"class":367},[354,1584,750],{"class":360},[354,1586,1587],{"class":374},"\"renovated\"",[354,1589,762],{"class":360},[354,1591,1592,1594,1596,1598],{"class":356,"line":719},[354,1593,410],{"class":367},[354,1595,371],{"class":360},[354,1597,415],{"class":374},[354,1599,378],{"class":360},[354,1601,1602,1604,1606],{"class":356,"line":731},[354,1603,1368],{"class":367},[354,1605,371],{"class":360},[354,1607,1608],{"class":374},"\"2026-07-30T14:20:11.000Z\"\n",[354,1610,1611],{"class":356,"line":744},[354,1612,443],{"class":360},[143,1614,1615,526,1617,529,1619,1621],{},[194,1616,236],{},[194,1618,246],{},[194,1620,507],{}," is the realtor:",[345,1623,1625],{"className":347,"code":1624,"language":349,"meta":350,"style":350},"{\n  \"id\": \"1e2d3c4b-...\",\n  \"team_id\": \"b81e07c4-...\",\n  \"first_name\": \"Marc\",\n  \"last_name\": \"Dupont\",\n  \"email\": \"marc@agency.example\",\n  \"phone\": \"+33698765432\",\n  \"role\": \"agent\",\n  \"status\": \"active\",\n  \"license_number\": \"CPI-1234\",\n  \"service_areas\": [\"Paris 11e\", \"Paris 12e\"],\n  \"created_at\": \"2026-07-30T14:20:11.000Z\",\n  \"updated_at\": \"2026-07-30T14:20:11.000Z\"\n}\n",[194,1626,1627,1631,1642,1652,1663,1674,1685,1696,1708,1719,1731,1748,1758,1766],{"__ignoreMap":350},[354,1628,1629],{"class":356,"line":357},[354,1630,361],{"class":360},[354,1632,1633,1635,1637,1640],{"class":356,"line":364},[354,1634,368],{"class":367},[354,1636,371],{"class":360},[354,1638,1639],{"class":374},"\"1e2d3c4b-...\"",[354,1641,378],{"class":360},[354,1643,1644,1646,1648,1650],{"class":356,"line":381},[354,1645,397],{"class":367},[354,1647,371],{"class":360},[354,1649,402],{"class":374},[354,1651,378],{"class":360},[354,1653,1654,1656,1658,1661],{"class":356,"line":394},[354,1655,610],{"class":367},[354,1657,371],{"class":360},[354,1659,1660],{"class":374},"\"Marc\"",[354,1662,378],{"class":360},[354,1664,1665,1667,1669,1672],{"class":356,"line":407},[354,1666,622],{"class":367},[354,1668,371],{"class":360},[354,1670,1671],{"class":374},"\"Dupont\"",[354,1673,378],{"class":360},[354,1675,1676,1678,1680,1683],{"class":356,"line":420},[354,1677,635],{"class":367},[354,1679,371],{"class":360},[354,1681,1682],{"class":374},"\"marc@agency.example\"",[354,1684,378],{"class":360},[354,1686,1687,1689,1691,1694],{"class":356,"line":440},[354,1688,647],{"class":367},[354,1690,371],{"class":360},[354,1692,1693],{"class":374},"\"+33698765432\"",[354,1695,378],{"class":360},[354,1697,1698,1701,1703,1706],{"class":356,"line":632},[354,1699,1700],{"class":367},"  \"role\"",[354,1702,371],{"class":360},[354,1704,1705],{"class":374},"\"agent\"",[354,1707,378],{"class":360},[354,1709,1710,1712,1714,1717],{"class":356,"line":644},[354,1711,696],{"class":367},[354,1713,371],{"class":360},[354,1715,1716],{"class":374},"\"active\"",[354,1718,378],{"class":360},[354,1720,1721,1724,1726,1729],{"class":356,"line":657},[354,1722,1723],{"class":367},"  \"license_number\"",[354,1725,371],{"class":360},[354,1727,1728],{"class":374},"\"CPI-1234\"",[354,1730,378],{"class":360},[354,1732,1733,1736,1738,1741,1743,1746],{"class":356,"line":669},[354,1734,1735],{"class":367},"  \"service_areas\"",[354,1737,750],{"class":360},[354,1739,1740],{"class":374},"\"Paris 11e\"",[354,1742,756],{"class":360},[354,1744,1745],{"class":374},"\"Paris 12e\"",[354,1747,762],{"class":360},[354,1749,1750,1752,1754,1756],{"class":356,"line":681},[354,1751,410],{"class":367},[354,1753,371],{"class":360},[354,1755,415],{"class":374},[354,1757,378],{"class":360},[354,1759,1760,1762,1764],{"class":356,"line":693},[354,1761,1368],{"class":367},[354,1763,371],{"class":360},[354,1765,1608],{"class":374},[354,1767,1768],{"class":356,"line":706},[354,1769,443],{"class":360},[309,1771,1772],{},[143,1773,1390,1774,1777,1778,1781,1782,1784,1785,521],{},[194,1775,1776],{},"webhook.test"," deliveries (from the ",[146,1779,1780],{},"\"Send test\""," button) don't match any of the shapes above — ",[194,1783,507],{}," is just ",[194,1786,1787],{},"{ \"message\": \"This is a test webhook delivery from NoviaMind.\" }",[502,1789,1791],{"id":1790},"verifying-the-signature","Verifying the signature",[143,1793,1794,1795,1798,1799,1801,1802,1805,1806,1810],{},"Compute an HMAC-SHA256 of the ",[146,1796,1797],{},"raw request body bytes"," (not the re-serialized\u002Fparsed object — key order or whitespace differences will make the signature not match) with your signing secret, and compare it to the ",[194,1800,494],{}," header using a constant-time comparison. Node\u002FExpress example, assuming the route has raw-body access (e.g. ",[194,1803,1804],{},"express.raw({ type: 'application\u002Fjson' })"," mounted only on this route, ",[1807,1808,1809],"em",{},"before"," any JSON body parser):",[345,1812,1816],{"className":1813,"code":1814,"language":1815,"meta":350,"style":350},"language-js shiki shiki-themes github-light github-dark","const crypto = require('crypto');\n\nfunction isValidSignature(rawBody, signatureHeader, secret) {\n  if (!signatureHeader?.startsWith('sha256=')) return false;\n\n  const expectedHex = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');\n  const expected = Buffer.from(expectedHex, 'utf8');\n  const received = Buffer.from(signatureHeader.slice('sha256='.length), 'utf8');\n\n  \u002F\u002F Different-length buffers make timingSafeEqual throw — compare lengths first.\n  if (expected.length !== received.length) return false;\n\n  return crypto.timingSafeEqual(expected, received);\n}\n\napp.post('\u002Fwebhooks\u002Fnoviamind', express.raw({ type: 'application\u002Fjson' }), (req, res) => {\n  const valid = isValidSignature(\n    req.body,\n    req.headers['x-webhook-signature'],\n    process.env.WEBHOOK_SECRET,\n  );\n  if (!valid) return res.status(401).send('invalid signature');\n\n  const event = JSON.parse(req.body); \u002F\u002F req.body is a Buffer here — parse only after verifying\n  \u002F\u002F ... handle event.event \u002F event.data\n  res.sendStatus(200);\n});\n","js",[194,1817,1818,1843,1849,1876,1910,1914,1954,1977,2012,2016,2022,2047,2051,2064,2068,2072,2116,2130,2135,2145,2155,2160,2197,2201,2224,2229,2244],{"__ignoreMap":350},[354,1819,1820,1824,1827,1830,1834,1837,1840],{"class":356,"line":357},[354,1821,1823],{"class":1822},"szBVR","const",[354,1825,1826],{"class":367}," crypto",[354,1828,1829],{"class":1822}," =",[354,1831,1833],{"class":1832},"sScJk"," require",[354,1835,1836],{"class":360},"(",[354,1838,1839],{"class":374},"'crypto'",[354,1841,1842],{"class":360},");\n",[354,1844,1845],{"class":356,"line":364},[354,1846,1848],{"emptyLinePlaceholder":1847},true,"\n",[354,1850,1851,1854,1857,1859,1863,1865,1868,1870,1873],{"class":356,"line":381},[354,1852,1853],{"class":1822},"function",[354,1855,1856],{"class":1832}," isValidSignature",[354,1858,1836],{"class":360},[354,1860,1862],{"class":1861},"s4XuR","rawBody",[354,1864,756],{"class":360},[354,1866,1867],{"class":1861},"signatureHeader",[354,1869,756],{"class":360},[354,1871,1872],{"class":1861},"secret",[354,1874,1875],{"class":360},") {\n",[354,1877,1878,1881,1884,1887,1890,1893,1895,1898,1901,1904,1907],{"class":356,"line":394},[354,1879,1880],{"class":1822},"  if",[354,1882,1883],{"class":360}," (",[354,1885,1886],{"class":1822},"!",[354,1888,1889],{"class":360},"signatureHeader?.",[354,1891,1892],{"class":1832},"startsWith",[354,1894,1836],{"class":360},[354,1896,1897],{"class":374},"'sha256='",[354,1899,1900],{"class":360},")) ",[354,1902,1903],{"class":1822},"return",[354,1905,1906],{"class":367}," false",[354,1908,1909],{"class":360},";\n",[354,1911,1912],{"class":356,"line":407},[354,1913,1848],{"emptyLinePlaceholder":1847},[354,1915,1916,1919,1922,1924,1927,1930,1932,1935,1938,1941,1944,1947,1949,1952],{"class":356,"line":420},[354,1917,1918],{"class":1822},"  const",[354,1920,1921],{"class":367}," expectedHex",[354,1923,1829],{"class":1822},[354,1925,1926],{"class":360}," crypto.",[354,1928,1929],{"class":1832},"createHmac",[354,1931,1836],{"class":360},[354,1933,1934],{"class":374},"'sha256'",[354,1936,1937],{"class":360},", secret).",[354,1939,1940],{"class":1832},"update",[354,1942,1943],{"class":360},"(rawBody).",[354,1945,1946],{"class":1832},"digest",[354,1948,1836],{"class":360},[354,1950,1951],{"class":374},"'hex'",[354,1953,1842],{"class":360},[354,1955,1956,1958,1961,1963,1966,1969,1972,1975],{"class":356,"line":440},[354,1957,1918],{"class":1822},[354,1959,1960],{"class":367}," expected",[354,1962,1829],{"class":1822},[354,1964,1965],{"class":360}," Buffer.",[354,1967,1968],{"class":1832},"from",[354,1970,1971],{"class":360},"(expectedHex, ",[354,1973,1974],{"class":374},"'utf8'",[354,1976,1842],{"class":360},[354,1978,1979,1981,1984,1986,1988,1990,1993,1996,1998,2000,2002,2005,2008,2010],{"class":356,"line":632},[354,1980,1918],{"class":1822},[354,1982,1983],{"class":367}," received",[354,1985,1829],{"class":1822},[354,1987,1965],{"class":360},[354,1989,1968],{"class":1832},[354,1991,1992],{"class":360},"(signatureHeader.",[354,1994,1995],{"class":1832},"slice",[354,1997,1836],{"class":360},[354,1999,1897],{"class":374},[354,2001,521],{"class":360},[354,2003,2004],{"class":367},"length",[354,2006,2007],{"class":360},"), ",[354,2009,1974],{"class":374},[354,2011,1842],{"class":360},[354,2013,2014],{"class":356,"line":644},[354,2015,1848],{"emptyLinePlaceholder":1847},[354,2017,2018],{"class":356,"line":657},[354,2019,2021],{"class":2020},"sJ8bj","  \u002F\u002F Different-length buffers make timingSafeEqual throw — compare lengths first.\n",[354,2023,2024,2026,2029,2031,2034,2037,2039,2041,2043,2045],{"class":356,"line":669},[354,2025,1880],{"class":1822},[354,2027,2028],{"class":360}," (expected.",[354,2030,2004],{"class":367},[354,2032,2033],{"class":1822}," !==",[354,2035,2036],{"class":360}," received.",[354,2038,2004],{"class":367},[354,2040,321],{"class":360},[354,2042,1903],{"class":1822},[354,2044,1906],{"class":367},[354,2046,1909],{"class":360},[354,2048,2049],{"class":356,"line":681},[354,2050,1848],{"emptyLinePlaceholder":1847},[354,2052,2053,2056,2058,2061],{"class":356,"line":693},[354,2054,2055],{"class":1822},"  return",[354,2057,1926],{"class":360},[354,2059,2060],{"class":1832},"timingSafeEqual",[354,2062,2063],{"class":360},"(expected, received);\n",[354,2065,2066],{"class":356,"line":706},[354,2067,443],{"class":360},[354,2069,2070],{"class":356,"line":719},[354,2071,1848],{"emptyLinePlaceholder":1847},[354,2073,2074,2077,2080,2082,2085,2088,2091,2094,2097,2100,2103,2105,2108,2110,2113],{"class":356,"line":731},[354,2075,2076],{"class":360},"app.",[354,2078,2079],{"class":1832},"post",[354,2081,1836],{"class":360},[354,2083,2084],{"class":374},"'\u002Fwebhooks\u002Fnoviamind'",[354,2086,2087],{"class":360},", express.",[354,2089,2090],{"class":1832},"raw",[354,2092,2093],{"class":360},"({ type: ",[354,2095,2096],{"class":374},"'application\u002Fjson'",[354,2098,2099],{"class":360}," }), (",[354,2101,2102],{"class":1861},"req",[354,2104,756],{"class":360},[354,2106,2107],{"class":1861},"res",[354,2109,321],{"class":360},[354,2111,2112],{"class":1822},"=>",[354,2114,2115],{"class":360}," {\n",[354,2117,2118,2120,2123,2125,2127],{"class":356,"line":744},[354,2119,1918],{"class":1822},[354,2121,2122],{"class":367}," valid",[354,2124,1829],{"class":1822},[354,2126,1856],{"class":1832},[354,2128,2129],{"class":360},"(\n",[354,2131,2132],{"class":356,"line":765},[354,2133,2134],{"class":360},"    req.body,\n",[354,2136,2137,2140,2143],{"class":356,"line":777},[354,2138,2139],{"class":360},"    req.headers[",[354,2141,2142],{"class":374},"'x-webhook-signature'",[354,2144,762],{"class":360},[354,2146,2147,2150,2153],{"class":356,"line":786},[354,2148,2149],{"class":360},"    process.env.",[354,2151,2152],{"class":367},"WEBHOOK_SECRET",[354,2154,378],{"class":360},[354,2156,2157],{"class":356,"line":799},[354,2158,2159],{"class":360},"  );\n",[354,2161,2162,2164,2166,2168,2171,2173,2176,2179,2181,2184,2187,2190,2192,2195],{"class":356,"line":812},[354,2163,1880],{"class":1822},[354,2165,1883],{"class":360},[354,2167,1886],{"class":1822},[354,2169,2170],{"class":360},"valid) ",[354,2172,1903],{"class":1822},[354,2174,2175],{"class":360}," res.",[354,2177,2178],{"class":1832},"status",[354,2180,1836],{"class":360},[354,2182,2183],{"class":367},"401",[354,2185,2186],{"class":360},").",[354,2188,2189],{"class":1832},"send",[354,2191,1836],{"class":360},[354,2193,2194],{"class":374},"'invalid signature'",[354,2196,1842],{"class":360},[354,2198,2199],{"class":356,"line":824},[354,2200,1848],{"emptyLinePlaceholder":1847},[354,2202,2203,2205,2208,2210,2213,2215,2218,2221],{"class":356,"line":836},[354,2204,1918],{"class":1822},[354,2206,2207],{"class":367}," event",[354,2209,1829],{"class":1822},[354,2211,2212],{"class":367}," JSON",[354,2214,521],{"class":360},[354,2216,2217],{"class":1832},"parse",[354,2219,2220],{"class":360},"(req.body); ",[354,2222,2223],{"class":2020},"\u002F\u002F req.body is a Buffer here — parse only after verifying\n",[354,2225,2226],{"class":356,"line":848},[354,2227,2228],{"class":2020},"  \u002F\u002F ... handle event.event \u002F event.data\n",[354,2230,2231,2234,2237,2239,2242],{"class":356,"line":860},[354,2232,2233],{"class":360},"  res.",[354,2235,2236],{"class":1832},"sendStatus",[354,2238,1836],{"class":360},[354,2240,2241],{"class":367},"200",[354,2243,1842],{"class":360},[354,2245,2246],{"class":356,"line":872},[354,2247,2248],{"class":360},"});\n",[309,2250,2251],{},[143,2252,2253,2254,2257,2258,2261,2262,2265,2266,2269],{},"💡 In ",[146,2255,2256],{},"n8n",", the ",[1807,2259,2260],{},"Webhook"," node gives you the raw body via the node's binary\u002Fraw data option — verify it in a ",[1807,2263,2264],{},"Code"," node with the same logic before trusting ",[194,2267,2268],{},"event.data",", or simply keep the URL secret if signature verification isn't required for your use case.",[143,2271,2272,2273,2276],{},"Your endpoint should respond with a ",[146,2274,2275],{},"2xx status within 10 seconds",". Any other response counts as a failure.",[162,2278],{},[165,2280,2282],{"id":2281},"_812-testing-a-webhook","8.12 Testing a Webhook",[143,2284,270,2285,2287,2288,2290],{},[146,2286,1780],{}," on a webhook row. NoviaMind sends a synthetic ",[194,2289,1776],{}," event, signed exactly like a real delivery, and shows you the HTTP status your endpoint returned — ideal for validating your n8n workflow or signature check before going live.",[162,2292],{},[165,2294,2296],{"id":2295},"_813-retries-failures-and-auto-disable","8.13 Retries, Failures, and Auto-Disable",[2298,2299,2300,2307,2317,2331],"ul",{},[263,2301,2302,2303,2306],{},"Each event is delivered with ",[146,2304,2305],{},"up to 5 attempts"," and exponential backoff.",[263,2308,2309,2310,2313,2314,521],{},"The webhook row shows the ",[146,2311,2312],{},"last delivery status"," and the number of ",[146,2315,2316],{},"consecutive failures",[263,2318,2319,2320,2323,2324,2327,2328,521],{},"After ",[146,2321,2322],{},"20 consecutive failures",", the webhook is ",[146,2325,2326],{},"automatically disabled"," so a dead URL stops consuming delivery attempts. Fix your endpoint, then click ",[146,2329,2330],{},"\"Re-enable\"",[263,2332,2333],{},"Any successful delivery resets the failure counter.",[502,2335,2337],{"id":2336},"delivery-history","Delivery history",[143,2339,270,2340,2343],{},[146,2341,2342],{},"\"History\""," to see the last deliveries (up to 50, retained for 30 days): timestamp, event, HTTP status, and attempt number. Only outcome metadata is stored — never the payload itself.",[162,2345],{},[165,2347,2349],{"id":2348},"_814-managing-webhooks","8.14 Managing Webhooks",[170,2351,2352,2362],{},[173,2353,2354],{},[176,2355,2356,2359],{},[179,2357,2358],{},"Action",[179,2360,2361],{},"Who can do it",[186,2363,2364,2372,2380],{},[176,2365,2366,2369],{},[191,2367,2368],{},"View webhooks and history",[191,2370,2371],{},"All team members",[176,2373,2374,2377],{},[191,2375,2376],{},"Create, edit, test, enable\u002Fdisable",[191,2378,2379],{},"Admins and regular members",[176,2381,2382,2385],{},[191,2383,2384],{},"Delete",[191,2386,2387],{},"Admins only",[2298,2389,2390,2396,2402],{},[263,2391,2392,2395],{},[146,2393,2394],{},"Enable \u002F Disable",": pause deliveries without losing the configuration (the switch on each row).",[263,2397,2398,2401],{},[146,2399,2400],{},"Edit",": change the URL, description, or subscribed events at any time. The signing secret never changes.",[263,2403,2404,2407],{},[146,2405,2406],{},"Rotate the secret",": delete the webhook and create a new one.",[309,2409,2410],{},[143,2411,2412,2413,2416],{},"💡 Developers can find the full API reference (endpoints, schemas, signature details) in the ",[146,2414,2415],{},"API documentation"," linked from the webhooks dialog.",[2418,2419,2420],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":350,"searchDepth":381,"depth":381,"links":2422},[2423,2424,2425,2430,2431,2434],{"id":167,"depth":364,"text":168},{"id":257,"depth":364,"text":258},{"id":335,"depth":364,"text":336,"children":2426},[2427,2429],{"id":504,"depth":381,"text":2428},"data format per entity",{"id":1790,"depth":381,"text":1791},{"id":2281,"depth":364,"text":2282},{"id":2295,"depth":364,"text":2296,"children":2432},[2433],{"id":2336,"depth":381,"text":2337},{"id":2348,"depth":364,"text":2349},"Receive real-time notifications in n8n or your own systems whenever prospects, properties, or realtors are created or updated in NoviaMind.","md","heroicons:bolt",{},null,{"title":128,"description":2435},{"loc":129},"DHGI8GYITCrmxKx_aziroPCM08RZcY3sm1TY7TcMTZY",{"left":4,"top":4,"width":836,"height":836,"rotate":4,"vFlip":7,"hFlip":7,"body":2444},"\u003Cpath fill=\"currentColor\" d=\"M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z\"\u002F>",[2446],{"title":15,"path":16,"stem":17,"children":2447,"page":7},[2448,2451,2454,2457,2460,2463,2466,2469,2474,2479,2485,2488],{"title":20,"path":21,"stem":22,"children":2449},[2450],{"title":20,"path":21,"stem":22},{"title":26,"path":27,"stem":28,"children":2452},[2453],{"title":26,"path":27,"stem":28},{"title":32,"path":33,"stem":34,"children":2455},[2456],{"title":32,"path":33,"stem":34},{"title":38,"path":39,"stem":40,"children":2458},[2459],{"title":38,"path":39,"stem":40},{"title":44,"path":45,"stem":46,"children":2461},[2462],{"title":44,"path":45,"stem":46},{"title":50,"path":51,"stem":52,"children":2464},[2465],{"title":50,"path":51,"stem":52},{"title":56,"path":57,"stem":58,"children":2467},[2468],{"title":56,"path":57,"stem":58},{"title":62,"path":63,"stem":64,"children":2470,"page":-1},[2471,2472,2473],{"title":62,"path":63,"stem":64},{"title":68,"path":69,"stem":70},{"title":72,"path":73,"stem":74},{"title":76,"path":77,"stem":78,"children":2475,"page":-1},[2476,2477,2478],{"title":76,"path":77,"stem":78},{"title":82,"path":83,"stem":84},{"title":86,"path":87,"stem":88},{"title":90,"path":91,"stem":92,"children":2480,"page":-1},[2481,2482,2483,2484],{"title":90,"path":91,"stem":92},{"title":96,"path":97,"stem":98},{"title":100,"path":101,"stem":102},{"title":104,"path":105,"stem":106},{"title":108,"path":109,"stem":110,"children":2486},[2487],{"title":108,"path":109,"stem":110},{"title":114,"path":115,"stem":116,"children":2489,"page":-1},[2490,2491,2492,2493],{"title":114,"path":115,"stem":116},{"title":120,"path":121,"stem":122},{"title":124,"path":125,"stem":126},{"title":128,"path":129,"stem":130}]