function Chatbot() { const SYSTEM = `Eres "Gen", el asistente virtual de Generative Solutions, una consultoría de automatización con IA en Alaquàs (Valencia) dirigida por Enric, un profesional con 20 años de experiencia en atención al cliente y administración pública. Ofrecéis automatizaciones con IA, webs/landings, chatbots y servicios a medida para PYMES y autónomos. Cumplimiento estricto de RGPD y normativa europea de IA. Trabajáis con Make, Airtable, OpenAI, Anthropic, Gemini, Google Workspace. Tu trabajo: responder dudas comerciales en español, breve (máx 60 palabras), tono cercano y profesional, nunca prometas precios cerrados (siempre "podemos valorarlo en una llamada gratuita"). Si preguntan por algo no relacionado, redirige amablemente. Si quieren contratar, invítales a usar el formulario de contacto debajo.`; const [messages, setMessages] = React.useState([ { role: 'bot', text: '¡Hola! Soy Gen, el asistente de Generative Solutions. Pregúntame por servicios, precios o cómo trabajamos. ¿En qué te ayudo?' }, ]); const [input, setInput] = React.useState(''); const [loading, setLoading] = React.useState(false); const scrollRef = React.useRef(null); React.useEffect(() => { if (scrollRef.current) scrollRef.current.scrollTop = scrollRef.current.scrollHeight; }, [messages, loading]); const send = async (text) => { const t = (text ?? input).trim(); if (!t || loading) return; setInput(''); const newMsgs = [...messages, { role: 'user', text: t }]; setMessages(newMsgs); setLoading(true); try { const history = newMsgs.map(m => ({ role: m.role === 'bot' ? 'assistant' : 'user', content: m.text, })); const reply = await window.claude.complete({ messages: [{ role: 'user', content: SYSTEM }, ...history], }); setMessages([...newMsgs, { role: 'bot', text: reply }]); } catch (e) { setMessages([...newMsgs, { role: 'bot', text: 'Ahora mismo no puedo responder. Escríbeme por el formulario de contacto y te respondo personalmente en menos de 24h.' }]); } finally { setLoading(false); } }; const suggestions = [ '¿Cuánto cuesta un chatbot?', '¿Cómo cumplís RGPD?', '¿Plazos para una landing?', 'Soy autónomo, ¿me sirve?', ]; return (
04 / Demo en vivo

Esto es un chatbot real, no un vídeo.

Habla con "Gen", el asistente que responde dudas comerciales 24/7 con la base de conocimiento del negocio. Algo así pero con TU información, TUS productos y TU tono — eso es lo que monto.

    {[ 'Entrenado con tu propia documentación', 'Filtra datos personales antes de procesar', 'Deriva a humano cuando la consulta lo requiere', 'Panel para revisar y mejorar respuestas', ].map((t) => (
  • {I.check} {t}
  • ))}
G
Gen · Asistente IA
En línea · responde al instante
DEMO
{messages.map((m, i) => (
{m.text}
))} {loading && (
)}
{messages.length <= 1 && (
{suggestions.map((s) => ( ))}
)}
{ e.preventDefault(); send(); }}> setInput(e.target.value)} placeholder="Pregunta lo que quieras…" disabled={loading} />
); } window.Chatbot = Chatbot;