[{"data":1,"prerenderedAt":443},["ShallowReactive",2],{"navigation_docs":3,"-tools-reminders":139,"-tools-reminders-surround":438},[4,8,12,16,20,24,28,32,59,63,117,121,135],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","1.introduction",{"title":9,"path":10,"stem":11},"Memory","\u002Fmemory","10.memory",{"title":13,"path":14,"stem":15},"Customization","\u002Fcustomization","11.customization",{"title":17,"path":18,"stem":19},"Deployment","\u002Fdeployment","12.deployment",{"title":21,"path":22,"stem":23},"Reference","\u002Freference","13.reference",{"title":25,"path":26,"stem":27},"Quickstart","\u002Fquickstart","2.quickstart",{"title":29,"path":30,"stem":31},"Installation","\u002Finstallation","3.installation",{"title":33,"icon":34,"path":35,"stem":36,"children":37,"page":58},"Connectors","i-lucide-cable","\u002Fconnectors","4.connectors",[38,42,46,50,54],{"title":39,"path":40,"stem":41},"Telegram","\u002Fconnectors\u002Ftelegram","4.connectors\u002F1.telegram",{"title":43,"path":44,"stem":45},"Slack","\u002Fconnectors\u002Fslack","4.connectors\u002F2.slack",{"title":47,"path":48,"stem":49},"Email","\u002Fconnectors\u002Femail","4.connectors\u002F3.email",{"title":51,"path":52,"stem":53},"API","\u002Fconnectors\u002Fapi","4.connectors\u002F4.api",{"title":55,"path":56,"stem":57},"Terminal","\u002Fconnectors\u002Fterminal","4.connectors\u002F5.terminal",false,{"title":60,"path":61,"stem":62},"Attachments","\u002Fattachments","5.attachments",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":58},"Tools","i-lucide-wrench","\u002Ftools","6.tools",[69,73,77,81,85,89,93,97,101,105,109,113],{"title":70,"path":71,"stem":72},"File Manager","\u002Ftools\u002Ffile-manager","6.tools\u002F1.file-manager",{"title":74,"path":75,"stem":76},"Text-to-Speech","\u002Ftools\u002Ftext-to-speech","6.tools\u002F10.text-to-speech",{"title":78,"path":79,"stem":80},"Confirmations","\u002Ftools\u002Fconfirmations","6.tools\u002F11.confirmations",{"title":82,"path":83,"stem":84},"Adding Custom Tools","\u002Ftools\u002Fadding-custom-tools","6.tools\u002F12.adding-custom-tools",{"title":86,"path":87,"stem":88},"Image Manager","\u002Ftools\u002Fimage-manager","6.tools\u002F2.image-manager",{"title":90,"path":91,"stem":92},"Web Request","\u002Ftools\u002Fweb-request","6.tools\u002F3.web-request",{"title":94,"path":95,"stem":96},"Reminders","\u002Ftools\u002Freminders","6.tools\u002F4.reminders",{"title":98,"path":99,"stem":100},"Heartbeats","\u002Ftools\u002Fheartbeats","6.tools\u002F5.heartbeats",{"title":102,"path":103,"stem":104},"Email Manager","\u002Ftools\u002Femail-manager","6.tools\u002F6.email-manager",{"title":106,"path":107,"stem":108},"Calendar","\u002Ftools\u002Fcalendar","6.tools\u002F7.calendar",{"title":110,"path":111,"stem":112},"Read Database","\u002Ftools\u002Fread-database","6.tools\u002F8.read-database",{"title":114,"path":115,"stem":116},"Headless Browser","\u002Ftools\u002Fbrowser","6.tools\u002F9.browser",{"title":118,"path":119,"stem":120},"Tinker","\u002Ftinker","7.tinker",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":58},"Skills","i-lucide-sparkles","\u002Fskills","8.skills",[127,131],{"title":128,"path":129,"stem":130},"Overview","\u002Fskills\u002Foverview","8.skills\u002F1.overview",{"title":132,"path":133,"stem":134},"Adding Custom Skills","\u002Fskills\u002Fadding-custom-skills","8.skills\u002F2.adding-custom-skills",{"title":136,"path":137,"stem":138},"Personas","\u002Fpersonas","9.personas",{"id":140,"title":94,"body":141,"description":431,"extension":432,"links":433,"meta":434,"navigation":435,"path":95,"seo":436,"stem":96,"__hash__":437},"docs\u002F6.tools\u002F4.reminders.md",{"type":142,"value":143,"toc":422},"minimark",[144,148,161,165,260,284,298,302,329,332,336,377,380,384,398,401,419],[145,146,5],"h2",{"id":147},"introduction",[149,150,151,152,156,157,160],"p",{},"The Reminder Manager tool schedules a single message to be delivered at a future date and time. Reminders are stored in ",[153,154,155],"code",{},"laraclaw_reminders"," and dispatched by the ",[153,158,159],{},"laraclaw:send-due-reminders"," command, which the service provider runs every minute.",[145,162,164],{"id":163},"creating-a-reminder","Creating a Reminder",[166,167,168,184],"table",{},[169,170,171],"thead",{},[172,173,174,178,181],"tr",{},[175,176,177],"th",{},"Parameter",[175,179,180],{},"Required",[175,182,183],{},"Description",[185,186,187,203,215,237],"tbody",{},[172,188,189,195,198],{},[190,191,192],"td",{},[153,193,194],{},"operation",[190,196,197],{},"Yes",[190,199,200],{},[153,201,202],{},"create",[172,204,205,210,212],{},[190,206,207],{},[153,208,209],{},"message",[190,211,197],{},[190,213,214],{},"The text to send when the reminder fires",[172,216,217,222,224],{},[190,218,219],{},[153,220,221],{},"remind_at",[190,223,197],{},[190,225,226,227,230,231,230,234],{},"When to send it. ISO 8601 or plain English: ",[153,228,229],{},"\"tomorrow at 10am\"",", ",[153,232,233],{},"\"in 30 minutes\"",[153,235,236],{},"\"2026-04-15 09:00\"",[172,238,239,244,247],{},[190,240,241],{},[153,242,243],{},"connector",[190,245,246],{},"No",[190,248,249,250,230,253,230,256,259],{},"Which connector to deliver on (",[153,251,252],{},"telegram",[153,254,255],{},"slack",[153,257,258],{},"email","). Defaults to the connector the user is currently messaging from.",[149,261,262,263,266,267,270,271,274,275,230,277,279,280,283],{},"Dates go through Carbon, with a normalization pass in front of it. Carbon leans on ",[153,264,265],{},"strtotime",", which understands ",[153,268,269],{},"\"30 minutes\""," and ",[153,272,273],{},"\"tomorrow 10am\""," but rejects the way people actually write them, so Laraclaw trims the filler words first. ",[153,276,233],{},[153,278,229],{},", and ",[153,281,282],{},"\"at 5pm\""," all resolve; ISO 8601 is passed through untouched.",[149,285,286,287,290,291,270,294,297],{},"If a value can't be parsed at all, the tool says so and asks the agent to work out the exact time and pass ISO 8601 instead. The same parsing is used by the ",[288,289,106],"a",{"href":107}," tool's ",[153,292,293],{},"start",[153,295,296],{},"end"," parameters.",[145,299,301],{"id":300},"listing-reminders","Listing Reminders",[166,303,304,314],{},[169,305,306],{},[172,307,308,310,312],{},[175,309,177],{},[175,311,180],{},[175,313,183],{},[185,315,316],{},[172,317,318,322,324],{},[190,319,320],{},[153,321,194],{},[190,323,197],{},[190,325,326],{},[153,327,328],{},"list",[149,330,331],{},"Returns all pending reminders for the owner as JSON, ordered by their fire time. Sent reminders are not included.",[145,333,335],{"id":334},"cancelling-a-reminder","Cancelling a Reminder",[166,337,338,348],{},[169,339,340],{},[172,341,342,344,346],{},[175,343,177],{},[175,345,180],{},[175,347,183],{},[185,349,350,363],{},[172,351,352,356,358],{},[190,353,354],{},[153,355,194],{},[190,357,197],{},[190,359,360],{},[153,361,362],{},"cancel",[172,364,365,370,372],{},[190,366,367],{},[153,368,369],{},"id",[190,371,197],{},[190,373,374,375],{},"The reminder ID, as returned by ",[153,376,328],{},[149,378,379],{},"Cancelled reminders are deleted from the database.",[145,381,383],{"id":382},"delivery","Delivery",[149,385,386,387,390,391,393,394,397],{},"Every minute, a scheduled command dispatches a ",[153,388,389],{},"SendReminder"," job for any reminder whose ",[153,392,221],{}," is in the past and whose ",[153,395,396],{},"sent_at"," is null. The job resolves the connector and thread, sends the message, and marks the reminder as sent.",[149,399,400],{},"For delivery you need:",[402,403,404,412],"ul",{},[405,406,407,408,411],"li",{},"A queue worker (",[153,409,410],{},"php artisan queue:work",")",[405,413,414,415,418],{},"The Laravel scheduler (",[153,416,417],{},"php artisan schedule:work"," or a cron entry)",[149,420,421],{},"Without both, reminders accumulate but never fire.",{"title":423,"searchDepth":424,"depth":424,"links":425},"",2,[426,427,428,429,430],{"id":147,"depth":424,"text":5},{"id":163,"depth":424,"text":164},{"id":300,"depth":424,"text":301},{"id":334,"depth":424,"text":335},{"id":382,"depth":424,"text":383},"Schedule one-shot messages to be delivered at a specific time.","md",null,{},true,{"title":94,"description":431},"HfwYdtYE6muNhbd2aYKjaBVlZxY_vg2ANLLlhqzTopU",[439,441],{"title":90,"path":91,"stem":92,"description":440,"children":-1},"Make outbound HTTP requests from the agent, with private network protection.",{"title":98,"path":99,"stem":100,"description":442,"children":-1},"Schedule recurring prompts that fire on a cron schedule.",1786661906119]