{"id":31780,"date":"2026-09-30T11:43:45","date_gmt":"2026-09-30T09:43:45","guid":{"rendered":"https:\/\/botnation.ai\/social-housing-chatbot\/"},"modified":"2026-09-30T11:55:42","modified_gmt":"2026-09-30T09:55:42","slug":"social-housing-chatbot","status":"publish","type":"post","link":"https:\/\/botnation.ai\/en\/social-housing-chatbot\/","title":{"rendered":"Social housing chatbot: what it answers on its own, and where the manager takes over (2026)"},"content":{"rendered":"<div class=\"bn-art\">\n<script>(function(){var s=document.createElement(\"style\");s.appendChild(document.createTextNode(`.bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\"\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\"\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\"+\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\"\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\"\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.chat img{max-width:400px; margin:0 auto} .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)} .bn-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-out{margin:22px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} } .bn-bud{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bud h3{margin:.1em 0 .3em} .bn-bud>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-bud br{display:none} .bn-bud p:empty{display:none; margin:0} .bud-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .budv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .budv-1{display:block; border-left:4px solid var(--bn-green)} .budv-2{border-left:4px solid var(--bn-blue)} .budv-3{border-left:4px solid var(--bn-coral)} .budv-4{border-left:4px solid var(--bn-ink)} .bn-art .budv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .budv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .budv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .budv p:last-child{margin-bottom:0} .bn-art .bud-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-bud .bn-tablewrap{margin-top:22px} @media(max-width:680px){ .bn-bud{padding:20px 17px} .bud-out{padding:17px 15px} }`));document.head.appendChild(s);})();<\/script>\n<p>On the reception desk of a social housing office, the same scene plays out every Monday morning: a switchboard running flat out, tenants travelling in for a question that took one sentence to ask, and managers spending their day repeating the same answers. The <strong>social housing chatbot<\/strong> was born from that very concrete observation: a large share of the requests reaching a housing provider require neither arbitration nor a case file, just an accurate answer, available at any hour. This article sorts it all out, with real figures from social housing: what the bot closes on its own, where the manager takes over, the framework governing tenant data, the real-life case of Caen la mer Habitat, the cost as surveyed on September 30, 2026, and a tool to classify your own requests.<\/p>\n<div class=\"bn-tldr\">\n<span class=\"bn-klabel\">In short<\/span>\n<ul>\n<li>A <strong>social housing chatbot<\/strong> absorbs the repetitive flow: application documents, rent receipts, opening hours, appointment booking, guidance through housing applications. It does not decide: no allocation, no arrears, no rescheduling of a payment.<\/li>\n<li>The field validates the channel: across the 9 departmental social housing application sites of Brittany and Pays de la Loire, one chatbot recorded <strong>43,588 unique users<\/strong> in six months and <strong>61% of conversations outside office hours<\/strong> (CREHA Ouest review, first half of 2025).<\/li>\n<li>The rule that protects everyone: a conversation without human intervention \u201ccannot on its own lead to important decisions for the person concerned\u201d (CNIL, the French data protection authority). The bot prepares, the manager decides.<\/li>\n<li>Budget-wise: the public offer runs from <strong>free<\/strong> to \u20ac39 then \u20ac59 per month in self-service, and bespoke work is quoted on demand (survey of Botnation\u2019s public pricing on 30\/09\/2026).<\/li>\n<\/ul>\n<\/div>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>61%<\/b><span>of the social housing chatbot\u2019s conversations outside office hours (CREHA Ouest, first half of 2025)<\/span><\/div>\n<div class=\"bn-stat\"><b>43,588<\/b><span>unique users in 6 months across the 9 departmental sites (CREHA Ouest, 2025)<\/span><\/div>\n<div class=\"bn-stat\"><b>87%<\/b><span>request understanding rate measured over the same period (CREHA Ouest, 2025)<\/span><\/div>\n<\/div>\n<p>These three figures come from the review published by CREHA Ouest, the association that brings together social housing stakeholders in Brittany and Pays de la Loire, after six months of rolling out a chatbot across the <strong>9 departmental social housing application sites<\/strong> in its region (<a href=\"https:\/\/www.creha-ouest.org\/actualites\/chatbot-logement-social-un-bilan-tres-positif-apres-6-mois\/\" rel=\"nofollow noopener\" target=\"_blank\">review published on 18 August 2025, in French only<\/a>). They describe the \u201capplicants\u201d side of social housing; the \u201ctenants\u201d side follows the same mechanics, with a client case detailed below.<\/p>\n<figure class=\"bn-fig\"><img fetchpriority=\"high\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-bailleur-social-creha.jpg\" alt=\"Screenshot of the review published by CREHA Ouest on 18 August 2025: 63,998 messages exchanged and 43,588 unique users in six months across the nine departmental sites\" decoding=\"async\" width=\"1280\" height=\"940\"><figcaption>The CREHA Ouest review measures real usage of the channel over six months, department by department (published in French only): 63,998 messages, 43,588 unique users, about 14,500 people per month, for an average of 1.5 messages per user.<\/figcaption><\/figure>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Why_the_chatbot_makes_sense_for_social_housing_providers\" >Why the chatbot makes sense for social housing providers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#What_the_chatbot_closes_on_its_own_requests_that_look_alike\" >What the chatbot closes on its own: requests that look alike<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Where_the_manager_takes_over\" >Where the manager takes over<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Test_your_own_flow_this_tenant_request_can_the_bot_handle_it\" >Test your own flow: this tenant request, can the bot handle it?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#This_tenant_request_can_the_bot_handle_it\" >This tenant request, can the bot handle it?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Tenant_data_and_transparency_the_framework_that_protects_everyone\" >Tenant data and transparency: the framework that protects everyone<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#One_channel_several_windows_multichannel_does_the_work\" >One channel, several windows: multichannel does the work<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Caen_la_mer_Habitat_what_a_first_deployment_teaches\" >Caen la mer Habitat: what a first deployment teaches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#How_much_does_a_chatbot_for_a_social_housing_provider_cost\" >How much does a chatbot for a social housing provider cost?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Six_steps_to_launch_a_chatbot_on_the_providers_side\" >Six steps to launch a chatbot on the provider\u2019s side<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Frequently_asked_questions\" >Frequently asked questions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/en\/social-housing-chatbot\/#Start_with_the_twenty_most_repeated_requests_from_your_switchboard\" >Start with the twenty most repeated requests from your switchboard<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"pourquoi\"><span class=\"ez-toc-section\" id=\"Why_the_chatbot_makes_sense_for_social_housing_providers\"><\/span>Why the chatbot makes sense for social housing providers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A social housing provider does not serve one audience, it serves two that cross paths on the same channels. <strong>Applicants<\/strong> want to understand how to submit an application, which supporting documents to attach, where their registration stands. <strong>Tenants<\/strong> want an answer without paying the price of waiting time: understanding a rent receipt, reporting a leak, finding the right contact, booking a slot for a repair. In between, reception desks and the switchboard absorb the rest, with well-known peaks: Monday mornings, the first days of the month that follow rent due dates, the back-to-school season, and waves of breakdowns when heating systems come back on.<\/p>\n<p>Existing channels are not lacking: dedicated phone line, reception desks, post, online tenant portal, social media pages. The problem is not the number of channels, it is their <strong>availability and selectivity<\/strong>. The phone puts everyone in the same queue, including questions that take thirty seconds to answer. The tenant portal demands authentication even for a general question. The chatbot sits in front of that system as an intelligent filter: it answers general questions on its own, it routes personal requests to the right service, and it stays open when the offices are closed. That is exactly the role described back in 2022 by the communications manager of Caen la mer Habitat when she deployed her office\u2019s bot: offering \u201cun canal de communication compl\u00e9mentaire \u00e0 nos locataires, afin qu\u2019ils puissent nous joindre 24h\/24\u201d (an additional communication channel for our tenants, so that they can reach us 24\/7) for simple questions that do not require an adviser.<\/p>\n<p>The CREHA Ouest review gives another reason, a more discreet one: <strong>61% of interactions take place outside office hours<\/strong>, in the evening and at weekends. A reception desk, however good, will never capture that flow. A chatbot will. And the same review shows the target audience shows up: about 14,500 users per month, 1.5 messages per user on average, and a request understanding rate measured at 87%. The correct reading is not \u201ceveryone prefers a robot\u201d: it is that part of the demand is better served at any hour than in a queue, and that part is large.<\/p>\n<h2 id=\"seul\"><span class=\"ez-toc-section\" id=\"What_the_chatbot_closes_on_its_own_requests_that_look_alike\"><\/span>What the chatbot closes on its own: requests that look alike<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The sweet spot of a social housing chatbot has one telltale sign: <strong>the answer depends neither on the person nor on their file<\/strong>. Around that criterion, four families of requests come back in every deployment.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-bailleur-social-body2.jpg\" alt=\"Hands placing a blank form into a cardboard housing application folder, keys and a coral sticky note on a wooden desk\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>A housing application is a public list of documents and steps: exactly the kind of content a chatbot keeps up to date and serves without a queue.<\/figcaption><\/figure>\n<ul>\n<li><strong>Talking applicants through the process.<\/strong> Which documents for a housing application, how to register, how to update an application, what the allocation criteria are. This is the dominant theme of the CREHA Ouest review: housing applications account for 69% of topics, and the five most frequent questions are all journey questions (\u201cI have already applied\u201d: 30%, \u201cHow do I get social housing?\u201d: 23%).<\/li>\n<li><strong>Everyday tenancy management.<\/strong> Understanding a rent receipt, payment methods, agency opening hours, the steps for moving out or handing back keys. Identical answers for everyone, provided they are dated and sourced.<\/li>\n<li><strong>Routing and appointment booking.<\/strong> \u201cWho should I contact about\u2026\u201d, \u201cwhere do I hand in my letter\u201d, booking a slot with the technical service for a planned repair. The bot qualifies the request, checks availability and puts the appointment in the service\u2019s calendar.<\/li>\n<li><strong>Well-written emergency reflexes.<\/strong> Water leak, heating failure, lost keys: the bot gives the immediate instruction (shut off the water supply, the emergency out-of-hours number) without pretending to diagnose.<\/li>\n<\/ul>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Tenant or applicant request<\/th>\n<th>What the chatbot does<\/th>\n<th>What stays with the provider<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Which documents to attach to a housing application<\/td>\n<td>Official dated list, link to the form, completeness check<\/td>\n<td>Processing and allocation<\/td>\n<\/tr>\n<tr>\n<td>Where my housing application stands<\/td>\n<td>Identify the person, status read from the system, date of last update<\/td>\n<td>The delay estimate and the decision<\/td>\n<\/tr>\n<tr>\n<td>Understanding my rent receipt or paying my rent<\/td>\n<td>Explanation of each line, payment method, link to the tenant portal<\/td>\n<td>A contested rent recalculation<\/td>\n<\/tr>\n<tr>\n<td>Booking an appointment for a repair<\/td>\n<td>Qualification, available slots, confirmation in the calendar<\/td>\n<td>The diagnosis and the real urgency<\/td>\n<\/tr>\n<tr>\n<td>What to do about a leak or a breakdown<\/td>\n<td>Immediate instruction, out-of-hours number, shut-off valve<\/td>\n<td>The intervention and the works quote<\/td>\n<\/tr>\n<tr>\n<td>Opening hours, address, contact methods<\/td>\n<td>Single updated answer, pointing to the official page<\/td>\n<td>Nothing: the question is closed<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The success condition fits in one sentence: every bot answer must have <strong>a single, dated source<\/strong> in the provider\u2019s information system. An answer with no designated owner will silently become wrong, and a wrong bot is worse than a wait on the phone: it destroys the tenant\u2019s trust in one message. No-code platforms such as <a href=\"https:\/\/botnation.ai\/en\/products\/client-support\/\" target=\"_blank\">Botnation for customer support<\/a> are built for exactly that editing and updating work by a non-technical team, such as a communications unit or a customer relations service.<\/p>\n<h2 id=\"limites\"><span class=\"ez-toc-section\" id=\"Where_the_manager_takes_over\"><\/span>Where the manager takes over<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The boundary is not technological, it is legal and human. It boils down to one design rule that holds across the sector: <strong>the bot prepares, the manager decides<\/strong>. Three families of situations stay human from end to end.<\/p>\n<ul>\n<li><strong>Arrears and repayment schedules.<\/strong> A conversation can inform about a balance, explain the public procedure, offer to pass a message to the right service. It does not negotiate a schedule: that is a management decision, individual, documented, with consequences for the tenancy.<\/li>\n<li><strong>Allocation and rehousing.<\/strong> Allocation committees, transfers, mutual exchanges, statutory priority cases (the French DALO procedure): case-by-case judgement belongs to the empowered bodies. The bot explains the public criteria and the progress of a file, never the verdict.<\/li>\n<li><strong>Sensitive situations.<\/strong> Reports of violence, medical certificates in a priority file, serious neighbour disputes: these exchanges require a trained contact, and data that Article 9 of the GDPR excludes in principle from an automated conversation thread.<\/li>\n<\/ul>\n<div class=\"bn-warn\">\n<span class=\"bn-klabel\">The limit to carve into the specification<\/span>\n<p>The CNIL writes it plainly in its page on chatbots: a conversation without human intervention \u201cne peut conduire \u00e0 elle seule \u00e0 des d\u00e9cisions importantes pour la personne concern\u00e9e\u201d (cannot on its own lead to important decisions for the person concerned), such as refusing an online credit application or blocking a job application. Transposed to housing: a bot that would refuse a payment rescheduling, close an application or rule on a priority would not be closing a ticket, it would be taking a decision it has no legitimacy to take. The correct scenario routes to the manager, with an acknowledgement of receipt and an announced deadline.<\/p>\n<\/div>\n<p>That boundary is not a weakness of the channel, it is the condition for its acceptance. Tenants accept a bot that quickly closes simple questions precisely because they know a person takes over as soon as the situation becomes personal. It is the same architecture found in other customer-facing jobs, described for instance in our article on the <a href=\"https:\/\/botnation.ai\/en\/helpdesk-chatbot\/\" target=\"_blank\">helpdesk chatbot and where its right to act stops<\/a>.<\/p>\n<h2 id=\"outil\"><span class=\"ez-toc-section\" id=\"Test_your_own_flow_this_tenant_request_can_the_bot_handle_it\"><\/span>Test your own flow: this tenant request, can the bot handle it?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The tool below applies the hard rules of this article to a real request from your switchboard. Answer the four questions, or load a typical case from the reference table below.<\/p>\n<div class=\"bn-tri\" id=\"bn-tri\" data-v0=\"Fewer than 20 requests per month: writing the scenario will cost more time than it saves.\" data-v1=\"Between 20 and 200 requests per month: the scenario becomes worth it if it stays accurate from one year to the next.\" data-v2=\"More than 200 requests per month: this is the first scenario to write, before all the others.\" data-j0=\"No personal data collected: all that remains is telling users the bot exists, with a simple mention at the start of the conversation.\" data-j1=\"Tenancy and contact data: an ordinary personal data processing operation, with a lawful basis, a retention period and access and rectification rights to guarantee.\" data-j2=\"Sensitive data within the meaning of Article 9 of the GDPR: in principle kept out of the conversation thread, and left to the human channel.\">\n<h3><span class=\"ez-toc-section\" id=\"This_tenant_request_can_the_bot_handle_it\"><\/span>This tenant request, can the bot handle it?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Answer the four questions, or load a typical case from the reference table below.<\/p>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">1. What data does the answer involve?<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"trif-d0\"><input type=\"radio\" name=\"triD\" id=\"trif-d0\" data-p=\"0\" checked>No personal data<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-d1\"><input type=\"radio\" name=\"triD\" id=\"trif-d1\" data-p=\"1\">Tenancy or contact data<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-d2\"><input type=\"radio\" name=\"triD\" id=\"trif-d2\" data-p=\"2\">Sensitive data (health, violence)<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">2. Is the answer the same for everyone?<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"trif-r0\"><input type=\"radio\" name=\"triR\" id=\"trif-r0\" data-p=\"0\" checked>Yes, it is a general rule<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-r1\"><input type=\"radio\" name=\"triR\" id=\"trif-r1\" data-p=\"1\">It depends on the tenant\u2019s file<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-r2\"><input type=\"radio\" name=\"triR\" id=\"trif-r2\" data-p=\"2\">It calls for case-by-case judgement<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">3. Is an individual decision taken at the end?<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"trif-c0\"><input type=\"radio\" name=\"triC\" id=\"trif-c0\" data-p=\"0\" checked>No, it is information or a routine step<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-c1\"><input type=\"radio\" name=\"triC\" id=\"trif-c1\" data-p=\"1\">Yes, something is granted, refused or recovered<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-q\">\n<p class=\"tri-qt\">4. How many requests of this kind per month?<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"trif-v0\"><input type=\"radio\" name=\"triV\" id=\"trif-v0\" data-p=\"0\">Fewer than 20<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-v1\"><input type=\"radio\" name=\"triV\" id=\"trif-v1\" data-p=\"1\" checked>Between 20 and 200<\/label><br>\n<label class=\"cdc-chip\" for=\"trif-v2\"><input type=\"radio\" name=\"triV\" id=\"trif-v2\" data-p=\"2\">More than 200<\/label>\n<\/div>\n<\/div>\n<div class=\"tri-out\">\n<div class=\"triv triv-1\" id=\"triv-1\"><em>Rule applied: an individual decision is taken<\/em><b>The bot prepares, a human decides<\/b>\n<p>The bot collects the request, checks it is complete, restates the applicable rule and routes it to the right service. It neither grants nor refuses anything: rescheduling a payment, an arrears schedule, funding for works, allocation or rehousing remain management decisions. The CNIL writes that a conversation without human intervention \u201cne peut conduire \u00e0 elle seule \u00e0 des d\u00e9cisions importantes pour la personne concern\u00e9e\u201d (cannot on its own lead to important decisions for the person concerned).<\/p>\n<p>To configure: an automatic acknowledgement of receipt, an announced deadline, and routing to the manager of the relevant block.<\/p>\n<\/div>\n<div class=\"triv triv-2\" id=\"triv-2\"><em>Rule applied: sensitive data is involved<\/em><b>Immediate escalation, logging nothing<\/b>\n<p>Health, disability, reports of violence: Article 9 of the GDPR prohibits processing this data in principle, and nothing requires it inside a conversation thread. The correct scenario gives the contact and the channel, then stops.<\/p>\n<p>To configure: no follow-up questions, no recording of the message, and a trained contact genuinely reachable behind it.<\/p>\n<\/div>\n<div class=\"triv triv-3\" id=\"triv-3\"><em>Rule applied: the answer calls for case-by-case judgement<\/em><b>Pre-qualification, then the manager<\/b>\n<p>The bot saves time on collection, not on arbitration. It gathers the documents, restates the request, displays a summary and hands over a ready file: the manager receives a complete case instead of a three-line message.<\/p>\n<p>To configure: the list of expected documents, a summary displayed before sending, and the receiving service.<\/p>\n<\/div>\n<div class=\"triv triv-4\" id=\"triv-4\"><em>Rule applied: the answer depends on the tenant\u2019s file<\/em><b>Guided answer, connected to the file<\/b>\n<p>The bot can answer on its own, provided it identifies the person (tenant portal) before fetching the value: balance, progress of an application, the technician\u2019s appointment. Without authentication, it gives the general rule and points to the tenant portal.<\/p>\n<p>To configure: authentication, a read-only connection to the management system, and a sentence that dates the value displayed.<\/p>\n<\/div>\n<div class=\"triv triv-5\" id=\"triv-5\"><em>Rule applied: same answer for everyone, no decision<\/em><b>The bot answers on its own<\/b>\n<p>This is the heart of the sweet spot: opening hours, documents to provide, steps to follow, emergency reflexes. An identical answer for everyone, with no arbitration and no personal data, can be handled end to end at any hour, and that is where a deployment starts.<\/p>\n<p>To configure: a single dated source, a link to the useful page of the website, and a way out to a human at every step.<\/p>\n<\/div>\n<div class=\"tri-lines\">\n<div class=\"tri-line\"><span>What the volume says<\/span><b id=\"tri-vol\">Between 20 and 200 requests per month: the scenario becomes worth it if it stays accurate from one year to the next.<\/b><\/div>\n<div class=\"tri-line\"><span>Triggered marker<\/span><b id=\"tri-jal\">No personal data collected: all that remains is telling users the bot exists, with a simple mention at the start of the conversation.<\/b><\/div>\n<\/div>\n<p class=\"tri-note\">Three rules can apply at the same time. The tool always keeps the most restrictive one, in this order: individual decision, then sensitive data, then case-by-case judgement.<\/p>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Tenant request<\/th>\n<th>Data<\/th>\n<th>Answer<\/th>\n<th>Decision<\/th>\n<th>Outcome<\/th>\n<th>Load<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"tri-row\" data-d=\"0\" data-r=\"0\" data-c=\"0\">\n<td>Which documents to attach to a housing application<\/td>\n<td>None<\/td>\n<td>Same for everyone<\/td>\n<td>None<\/td>\n<td>The bot answers on its own<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"0\" data-r=\"0\" data-c=\"0\">\n<td>Is the local agency open on Saturdays<\/td>\n<td>None<\/td>\n<td>Same for everyone<\/td>\n<td>None<\/td>\n<td>The bot answers on its own<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"0\" data-r=\"0\" data-c=\"0\">\n<td>How do I view my rent receipt<\/td>\n<td>None<\/td>\n<td>Same for everyone<\/td>\n<td>None<\/td>\n<td>The bot answers on its own<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"0\" data-r=\"0\" data-c=\"0\">\n<td>What to do about a leak under the kitchen sink<\/td>\n<td>None<\/td>\n<td>Same for everyone<\/td>\n<td>None<\/td>\n<td>The bot answers on its own<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"1\" data-c=\"0\">\n<td>Where does my housing application stand<\/td>\n<td>Tenancy<\/td>\n<td>Depends on the file<\/td>\n<td>None<\/td>\n<td>Guided answer, connected to the file<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"1\" data-c=\"0\">\n<td>Book an appointment for a boiler repair<\/td>\n<td>Tenancy<\/td>\n<td>Depends on the file<\/td>\n<td>None<\/td>\n<td>Guided answer, connected to the file<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"2\" data-c=\"0\">\n<td>Dispute the recalculation of my rent<\/td>\n<td>Tenancy<\/td>\n<td>Calls for judgement<\/td>\n<td>None<\/td>\n<td>Pre-qualification, then the manager<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"2\" data-c=\"0\">\n<td>Ask for a transfer to another home<\/td>\n<td>Tenancy<\/td>\n<td>Calls for judgement<\/td>\n<td>None<\/td>\n<td>Pre-qualification, then the manager<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"2\" data-r=\"2\" data-c=\"0\">\n<td>Report violence inside the home<\/td>\n<td>Sensitive<\/td>\n<td>Calls for judgement<\/td>\n<td>None<\/td>\n<td>Immediate escalation, logging nothing<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"2\" data-r=\"1\" data-c=\"0\">\n<td>Attach a medical certificate to a priority file<\/td>\n<td>Sensitive<\/td>\n<td>Depends on the file<\/td>\n<td>None<\/td>\n<td>Immediate escalation, logging nothing<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"2\" data-c=\"1\">\n<td>Ask to defer a rent payment<\/td>\n<td>Tenancy<\/td>\n<td>Calls for judgement<\/td>\n<td>A decision<\/td>\n<td>The bot prepares, a human decides<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<tr class=\"tri-row\" data-d=\"1\" data-r=\"2\" data-c=\"1\">\n<td>Propose a schedule to clear my arrears<\/td>\n<td>Tenancy<\/td>\n<td>Calls for judgement<\/td>\n<td>A decision<\/td>\n<td>The bot prepares, a human decides<\/td>\n<td><button type=\"button\" class=\"tri-load\">Load<\/button><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2 id=\"cadre\"><span class=\"ez-toc-section\" id=\"Tenant_data_and_transparency_the_framework_that_protects_everyone\"><\/span>Tenant data and transparency: the framework that protects everyone<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>First layer, the <strong>GDPR<\/strong>. A social housing chatbot processes personal data like any other processing operation: lawful basis, information of the people concerned, retention period, access and rectification rights. The page the CNIL devotes to chatbots adds two requirements specific to the channel. First, never let the bot make decisions: as we have seen, a conversation without a human cannot lead on its own to an important decision for the person. Second, make sure the conversation thread does not become a drawer where data piles up without the provider having any use for it: conversations are kept for a defined period, and sensitive data (health, family life, reports) never enters them.<\/p>\n<p>Second layer, more recent: <strong>regulation (EU) 2024\/1689<\/strong> on artificial intelligence, whose Article 50, paragraph 1, has applied since 2 August 2026. It requires that people interacting with an AI system intended to dialogue directly with them be informed of that interaction, unless it is obvious to a reasonably attentive person. The text of the Official Journal sticks to that design requirement: systems must be designed \u201cso that the natural persons concerned are informed that they are interacting with an AI system\u201d. In practice: a clear mention such as \u201cyou are talking to an automated assistant\u201d at the start of the conversation, and a simple path to a human.<\/p>\n<p>Third layer, less spectacular but decisive for acceptance: <strong>writing quality<\/strong>. A very mixed audience, tenants of all ages and languages, sometimes fragile situations: answers are written in short sentences, without management jargon, with update dates and a human way out visible at every step. A housing chatbot is judged less on what it knows than on what it refuses to improvise.<\/p>\n<h2 id=\"canaux\"><span class=\"ez-toc-section\" id=\"One_channel_several_windows_multichannel_does_the_work\"><\/span>One channel, several windows: multichannel does the work<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The chatbot is not one more page on the website: it is a <strong>box of answers plugged in wherever people already are<\/strong>. On the website and the tenant portal, it filters requests before the form. On Messenger and the provider\u2019s Facebook page, which Caen la mer Habitat already listed among its channels back in 2022, it reaches an audience that will never call the switchboard. On WhatsApp, it joins the most widely used messaging channel in France for quick exchanges, with the bonus of push notifications for follow-up answers. And SMS remains the fallback window for the least equipped audiences.<\/p>\n<p>This distribution changes how a deployment is measured: each channel has its off-peak hours and its dominant topics, and the bot\u2019s analytics shows in black and white what people ask, when, and what the bot closes without escalation. That is the feedback loop the phone switchboard never had. The available windows are detailed on our page about <a href=\"https:\/\/botnation.ai\/en\/channels\/\" target=\"_blank\">chatbot deployment channels<\/a>.<\/p>\n<h2 id=\"terrain\"><span class=\"ez-toc-section\" id=\"Caen_la_mer_Habitat_what_a_first_deployment_teaches\"><\/span>Caen la mer Habitat: what a first deployment teaches<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The best counterpoint to theory remains a real case, and social housing provides one at Botnation itself. In an interview published in January 2022, St\u00e9phanie Romeuf, communications manager at <strong>Caen la mer Habitat<\/strong>, the largest social housing provider of the Caen la mer urban community, looked back at the deployment of the <strong>Clemh<\/strong> chatbot on the office\u2019s website: a stock of almost 11,500 homes at the time of the interview, nearly a quarter of the population of Caen housed, and a constellation of existing channels (dedicated phone line, website, online tenant portal, Facebook page) to which the bot was added as a complementary channel.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-bailleur-social-body1.jpg\" alt=\"Housing office agent seen from behind at a computer displaying conversation bubbles, apartment building visible through the window\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>The bot\u2019s workstation: one more channel next to the switchboard and the desk, not one more wall between the tenant and the provider.<\/figcaption><\/figure>\n<p>Three lessons emerge from that feedback, published in <a href=\"https:\/\/botnation.ai\/en\/chatbot-and-real-estate\/\" target=\"_blank\">our full interview with the office<\/a> (published in French only). First, governance: a small project group mixing the communications unit, the head of the customer relations service and a member of the quality and internal control team, still meeting every month to study the requests the bot could not answer and to adjust it. Second, the method: topics and questions were listed in a shared table, the scenario was written, tested internally, then opened to tenants. Third, the honesty of the assessment, which fits in one sentence: \u201cIl n\u2019est pas encore parfait mais permet un premier niveau d\u2019information et une aide \u00e0 la navigation dans notre site internet.\u201d (It is not yet perfect but it provides a first level of information and helps people navigate our website.) A housing chatbot is not an installation, it is a continuous improvement routine.<\/p>\n<h2 id=\"cout\"><span class=\"ez-toc-section\" id=\"How_much_does_a_chatbot_for_a_social_housing_provider_cost\"><\/span>How much does a chatbot for a social housing provider cost?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Survey of Botnation\u2019s public pricing on 30 September 2026: the self-service offer starts <strong>for free<\/strong> (\u20ac0 per month, unlimited agents to test), then <strong>BASIC at \u20ac39 per month<\/strong> and <strong>PRO at \u20ac59 per month<\/strong>, with unlimited agents, full features, analytics and dedicated support. Artificial intelligence credits can be bought in packs: 1,000 credits for \u20ac25, 5,000 for \u20ac100, 15,000 for \u20ac250, 60,000 for \u20ac900, and an extra user costs \u20ac0.05 per month; all prices are excluding tax.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-chatbot-bailleur-social-tarifs-en.jpg\" alt=\"Botnation public pricing grid as of September 30, 2026: For free 0 euro, Basic 39 euros, Pro 59 euros, Entreprise on demand\" decoding=\"async\" width=\"1280\" height=\"1050\"><figcaption>The public grid as of 30 September 2026: free to test, \u20ac39 and \u20ac59 per month in self-service, and the Entreprise on-demand offer with chatbot creation management.<\/figcaption><\/figure>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Offer (surveyed on 30\/09\/2026)<\/th>\n<th>Price<\/th>\n<th>What it covers for a housing provider<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>FOR FREE<\/td>\n<td>\u20ac0 per month<\/td>\n<td>Testing on the website\u2019s general questions, before any commitment<\/td>\n<\/tr>\n<tr>\n<td>BASIC<\/td>\n<td>\u20ac39 per month<\/td>\n<td>A first official bot: FAQ, opening hours, documents, basic analytics<\/td>\n<\/tr>\n<tr>\n<td>PRO<\/td>\n<td>\u20ac59 per month<\/td>\n<td>A serious multichannel deployment: WhatsApp, Messenger, tenant portal connected, dedicated support<\/td>\n<\/tr>\n<tr>\n<td>ENTREPRISE<\/td>\n<td>On demand, quoted<\/td>\n<td>Integrations with the management system, chatbot creation services, dedicated account manager<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>For bespoke builds, Botnation\u2019s own pricing page FAQ gives a market order of magnitude for a development without a SaaS subscription: it will \u201cgenerally cost between \u20ac5,000 and \u20ac30,000, or even more, depending on the features you need\u201d, a range the page presents as indicative. What is certain: the price of a bespoke chatbot is given <strong>on demand<\/strong>, after the scenarios and the systems to connect have been scoped. That is the role of the Entreprise offer, which combines the platform with the chatbot creation services of the team that builds it: the team that builds is the one that edits the platform, the client keeps control in the no-code editor after delivery, and a provider can start in self-service then move to bespoke as integrations widen. For a quick estimate, the <a href=\"https:\/\/botnation.ai\/en\/pricing\/\" target=\"_blank\">pricing page<\/a> and the <a href=\"https:\/\/botnation.ai\/en\/contact\/\" target=\"_blank\">contact page<\/a> are the two doors in.<\/p>\n<h2 id=\"methode\"><span class=\"ez-toc-section\" id=\"Six_steps_to_launch_a_chatbot_on_the_providers_side\"><\/span>Six steps to launch a chatbot on the provider\u2019s side<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-steps\">\n<ol>\n<li><strong>Count the topics over twelve months.<\/strong> Switchboard logs, desk registers, emails, Facebook page messages: classify by topic and spot the peaks (Monday, start of the month, back to school, first weeks of heating). The CREHA Ouest review shows what this exercise yields on the applicant side: a \u201chousing application\u201d theme at 69%, with journey questions on top.<\/li>\n<li><strong>Write the hard rules before the answers.<\/strong> Go back to the triage above: which topics close without a decision, which require authentication, which go to the manager. That classification is the specification; answers come only after.<\/li>\n<li><strong>Write every answer with a dated source.<\/strong> A bot answer with no designated owner silently becomes wrong. Every scenario cites its official page, carries its update date and displays the human way out.<\/li>\n<li><strong>Plug in the channels where your audiences already are.<\/strong> Website and tenant portal first, Messenger and WhatsApp next, keeping the same central scenario. Do not open a channel until its human answering loop is held.<\/li>\n<li><strong>Open internally before opening to tenants.<\/strong> Caen la mer Habitat tested Clemh with its own teams before the public launch: embarrassing mistakes get fixed at zero cost internally, and agents become the channel\u2019s first ambassadors.<\/li>\n<li><strong>Measure every month and adjust.<\/strong> Understanding rate, unanswered requests, emerging topics, share of conversations outside opening hours: the project group\u2019s monthly meeting is enough to keep the bot accurate. The 87% understanding rate measured by CREHA Ouest comes from iteration, not from day one.<\/li>\n<\/ol>\n<\/div>\n<div class=\"bn-tip\">\n<span class=\"bn-klabel\">Starting tip<\/span>\n<p>The best first scenario is not the most strategic one, it is the most repeated one: the list of documents for a housing application, or the ways to pay the rent. Twenty well-written answers already cover half of the daily flow of a mid-sized office, and they become the template for everything else.<\/p>\n<\/div>\n<h2 id=\"faq\"><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-faq\">\n<details>\n<summary>Does a social housing chatbot replace the phone switchboard?<\/summary>\n<p>No, it clears it of its repetitive questions. Calls that require judgement, a case file or a negotiation stay on the phone, with a manager. The CREHA Ouest review describes a complementary channel, open 24\/7, not a substitution.<\/p>\n<\/details>\n<details>\n<summary>Can it handle arrears?<\/summary>\n<p>It can inform about a balance, explain the public procedure and pass a request to the right service. It negotiates neither a repayment schedule nor a write-off: those are individual decisions that the CNIL places beyond the reach of a conversation without human intervention.<\/p>\n<\/details>\n<details>\n<summary>Can it book appointments with the technical service?<\/summary>\n<p>Yes, it is one of the most rewarding use cases: qualifying the issue, available slots, confirmation in the service\u2019s calendar. The diagnosis and the urgency decision stay with the technician.<\/p>\n<\/details>\n<details>\n<summary>Must tenants be told they are talking to an AI?<\/summary>\n<p>Yes. Since 2 August 2026, Article 50 of the European AI regulation has required that people know they are interacting with an AI system, unless it is obvious to a reasonably attentive person. A simple mention at the start of the conversation is enough, provided a path to a human stays visible.<\/p>\n<\/details>\n<details>\n<summary>What budget for a mid-sized office?<\/summary>\n<p>The public self-service offer runs from free to \u20ac59 per month (survey of 30\/09\/2026), with AI credit packs starting at \u20ac25. Bespoke work with integrations to the management system is quoted on demand: Botnation\u2019s pricing FAQ cites a market order of magnitude of \u20ac5,000 to \u20ac30,000 for a development without a subscription, as an indicative range.<\/p>\n<\/details>\n<details>\n<summary>How long does it take to set up the first scenario?<\/summary>\n<p>For a first scope of twenty general questions, the work is a writing job: one to two weeks internally with a no-code platform, internal testing included. Integrations (tenant portal, technical planning) form a second project, scoped with the IT teams.<\/p>\n<\/details>\n<details>\n<summary>Should the bot be on WhatsApp and Messenger?<\/summary>\n<p>The website remains the base, but half of the audience is on messaging apps. WhatsApp suits quick follow-ups and notifications, Messenger reaches the audience of the provider\u2019s Facebook page. The same central scenario serves everywhere; only the welcome messages adapt.<\/p>\n<\/details>\n<details>\n<summary>What happens to a tenant\u2019s conversation?<\/summary>\n<p>It is a personal data processing operation: defined purpose, fixed retention period, guaranteed access and deletion rights. Sensitive data never enters it, and conversations are not used to profile tenants.<\/p>\n<\/details>\n<\/div>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Start_with_the_twenty_most_repeated_requests_from_your_switchboard\"><\/span>Start with the twenty most repeated requests from your switchboard<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>List the month\u2019s topics, classify them with the rules of this article, and write the first ten answers. You can build your first bot for free on the platform, or hand the project to our chatbot creation experts, from design to integration with your management system.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/pricing\/\">See Botnation pricing<\/a><\/p>\n<p><a href=\"https:\/\/botnation.ai\/en\/contact\/\" style=\"color:#f6c9c6\">Ask for a quote<\/a> \u00b7 <a href=\"https:\/\/botnation.ai\/en\/contact\/\" style=\"color:#f6c9c6\">Contact the experts<\/a><\/p>\n<\/div>\n<p>Published on 30 September 2026. Pricing and figures surveyed at the date of publication; the CREHA Ouest review covers the first half of 2025 (published in French only), and the interview of Caen la mer Habitat covers its ongoing deployment as of January 2022 (published in French only).<\/p>\n<\/div>\n<p><script>(function(){var r=document.getElementById(\"bn-tri\");if(!r){return;}var G=[\"triD\",\"triR\",\"triC\",\"triV\"];function val(n){var e=r.querySelector(\"input[name='\"+n+\"']:checked\");return e?parseInt(e.getAttribute(\"data-p\"),10):0;}function setg(n,v){var els=r.querySelectorAll(\"input[name='\"+n+\"']\"),i;for(i=0;els.length>i;i++){els[i].checked=(els[i].getAttribute(\"data-p\")===v);}}function up(){var d=val(G[0]),q=val(G[1]),c=val(G[2]),v=val(G[3]);var lvl=5;if(q===1){lvl=4;}if(q===2){lvl=3;}if(d===2){lvl=2;}if(c===1){lvl=1;}var k;for(k=1;6>k;k++){document.getElementById(\"triv-\"+k).style.display=(k===lvl?\"block\":\"none\");}document.getElementById(\"tri-vol\").textContent=r.getAttribute(\"data-v\"+v);document.getElementById(\"tri-jal\").textContent=r.getAttribute(\"data-j\"+d);}r.addEventListener(\"change\",up);r.addEventListener(\"click\",function(e){var t=e.target;if(!t){return;}if(!t.className){return;}if(String(t.className).indexOf(\"tri-load\")===-1){return;}var tr=t.closest(\"tr\");if(!tr){return;}setg(G[0],tr.getAttribute(\"data-d\"));setg(G[1],tr.getAttribute(\"data-r\"));setg(G[2],tr.getAttribute(\"data-c\"));up();});up();})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On the reception desk of a social housing office, the same scene plays out every Monday morning: a switchboard running flat out, tenants travelling in for a question that took one sentence to ask, and managers spending their day repeating the same answers. The social housing chatbot was born from that very concrete observation: a [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31773,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[362],"tags":[],"class_list":["post-31780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/comments?post=31780"}],"version-history":[{"count":1,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31780\/revisions"}],"predecessor-version":[{"id":31781,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31780\/revisions\/31781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media\/31773"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media?parent=31780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/categories?post=31780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/tags?post=31780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}