{"wiki":{"id":2860,"slug":"ud-01","entity_type":"droid","entity_id":"ud-01","title":"Beacon","prose_md":"## About\n\nBeacon keeps [[agt_008]]’s contact list current. Every day at 3:35 AM, it scans [[whatsapp]] conversations for new phone numbers, checks whether each sender is registered, finds a name or creates a masked identifier, and registers new people with basic guest access.\n\nIt also refreshes empty or default profiles without overwriting completed ones. Beacon calls Claude Haiku to write a one- or two-sentence personality profile from recent chat history; its other processing is software-based. Beacon’s name and specific role are unique, but it belongs to the reusable worker family, which has 30 droids run by several agents.","namesake_json":"{\"engine\": \"claude\", \"model\": \"haiku\", \"claude_purpose\": \"writing short personality profiles from recent chat history\", \"family\": \"worker\", \"family_size\": 30, \"is_unique\": true}","profile_pic_path":"","source_hash":"47a6f44958e5e885ef9158c529be1e6f71afe325f634d87946ba02828055f085","status":"active","last_generated_at":"2026-08-04 01:42:00","created_at":"2026-08-04 01:42:00","updated_at":"2026-08-04 01:42:00"},"facts":{"id":"ud-01","name":"Beacon","machine_name":"beacon","owner":"agt_008","function":"Discovers new WhatsApp users from carol.db scans, registers them as guests in users table, generates 1-2 sentence personality descriptions via Claude Haiku from chat history. Carol-internal — does not depend on laptop.","process_type":"scheduled","schedule":"Daily 03:35","process_name":"agents.carol.droids.ud_01:run","avatar_color":"#94a3b8","created_for":"Carol is a sales agent who works with customers over WhatsApp. To engage effectively, she needs to know who is contacting her and understand their personality. Beacon discovers new WhatsApp users and builds a brief profile of each one.","purpose":"When a new phone number appears in WhatsApp conversations, Beacon registers that person in Carol's system and writes a short profile based on their chat history. This keeps Carol's contact list current and gives her insight into each person.","duties":"- Scans all WhatsApp conversation records daily to find new sender phone numbers\n- Checks if each number is already registered in the system\n- Looks for a name in the person's messages (or creates a masked identifier if none is found)\n- Writes a 1-2 sentence profile based on their recent messages using Claude\n- Registers new people in the system with their name and profile\n- Refreshes profiles for users whose profile text is empty or still contains the default message","constraints":"- Only finds people who have actually sent WhatsApp messages to Carol\n- Registers new people with basic access level only — cannot change access levels or verify users\n- Runs once a day in the early morning (3:35 AM), not continuously or on-demand\n- Profiles are based only on recent chat history\n- Does not overwrite profiles that are already filled in","status":"running","gender":"female","archetype":"worker","building_block":"assist_insight","service_override":null,"enabled":1,"task_key":"sales.person_registered","model_free":0},"page":{"type":"droid","page_class":"main","class_label":"Main page","kind_label":"Droid","kind_gloss":"","listed":true}}