Baptiste - Great product, phone number input is fine. I was able to add the forced formatting by accessing the shadow dom. It works pretty well to auto-format phone, social security number and ein. Check it out: // Universal Auto-Formatter - Place once before first formatted input (function() { 'use strict'; // Prevent multiple instances if (window.typebotAutoFormatter) return; window.typebotAutoFormatter = true; const FORMATTERS = { phone: (digits) => { if (digits.length <= 3) return `(${digits}`; if (digits.length <= 6) return `(${digits.slice(0,3)}) ${digits.slice(3)}`; return `(${digits.slice(0,3)}) ${digits.slice(3,6)}-${digits.slice(6,10)}`; }, ssn: (digits) => { if (digits.length <= 3) return digits; if (digits.length <= 5) return `${digits.slice(0,3)}-${digits.slice(3)}`; return `${digits.slice(0,3)}-${digits.slice(3,5)}-${digits.slice(5,9)}`; }, ein: (digits) => digits.length <= 2 ? digits : `${digits.slice(0,2)}-${digits.slice(2,9)}` }; function detectInputType(input) { const placeholder = input.placeholder?.toLowerCase() || ''; if (input.type === 'tel' || placeholder.includes('phone')) return 'phone'; if (placeholder.includes('social security')) return 'ssn'; if (placeholder.includes('tax id') || placeholder.includes('business tax')) return 'ein'; return null; } function formatInput(input, type) { const digits = input.value.replace(/\D/g, ''); const formatted = FORMATTERS[type](digits); if (input.value !== formatted) { input.value = formatted; } } function attachFormatters() { const typebot = document.querySelector('typebot-standard'); if (!typebot?.shadowRoot) { setTimeout(attachFormatters, 500); return; } const inputs = typebot.shadowRoot.querySelectorAll('input'); inputs.forEach(input => { const type = detectInputType(input); if (!type) return; // Remove existing listeners input.removeEventListener('input', input._formatter); input.removeEventListener('keypress', input._validator); // Add formatting input._formatter = () => formatInput(input, type); input.addEventListener('input', input._formatter); // Add validation for numeric-only fields if (type === 'ssn' || type === 'ein') { input._validator = (e) => { if (!/[\d\b\t\x7f]/.test(e.key) && !e.ctrlKey) e.preventDefault(); }; input.addEventListener('keypress', input._validator); } }); // Re-check for new inputs periodically setTimeout(attachFormatters, 2000); } attachFormatters(); })();