{"name":"Dental Appointment Reminder Bot","nodes":[{"id":"trigger","type":"n8n-nodes-base.scheduleTrigger","name":"Check Appointments Schedule","position":[250,300],"parameters":{"rule":{"interval":[{"field":"hours","hoursInterval":1}]}}},{"id":"getAppts","type":"n8n-nodes-base.httpRequest","name":"Fetch Upcoming Appointments","position":[450,300],"parameters":{"url":"={{$env.PMS_API_URL}}/appointments","method":"GET","queryParameters":{"from":"={{$today}}","to":"={{$today.plus({days:2}).toISO()}}"}}},{"id":"filter","type":"n8n-nodes-base.filter","name":"Filter Needs Reminder","position":[650,300],"parameters":{"conditions":{"boolean":[{"value1":"={{$json.reminder_sent}}","value2":false}]}}},{"id":"aiPersonalize","type":"n8n-nodes-base.openAi","name":"Personalize Message","position":[850,200],"parameters":{"model":"gpt-4o-mini","prompt":"Write a friendly, brief appointment reminder for {{$json.patient_name}} at {{$json.appointment_time}}. Include the dentist name {{$json.dentist_name}}. Keep under 160 chars for SMS."}},{"id":"sendSMS","type":"n8n-nodes-base.twilio","name":"Send SMS Reminder","position":[1050,150],"parameters":{"to":"={{$json.patient_phone}}","from":"={{$env.TWILIO_PHONE}}","body":"={{$json.text}}"}},{"id":"sendEmail","type":"n8n-nodes-base.sendGrid","name":"Send Email Reminder","position":[1050,350],"parameters":{"to":"={{$json.patient_email}}","subject":"Appointment Reminder - {{$json.appointment_date}}","text":"={{$json.text}}"}},{"id":"markSent","type":"n8n-nodes-base.httpRequest","name":"Mark Reminder Sent","position":[1250,300],"parameters":{"url":"={{$env.PMS_API_URL}}/appointments/{{$json.id}}/reminder","method":"PATCH"}}],"connections":{"Check Appointments Schedule":{"main":[[{"node":"Fetch Upcoming Appointments","type":"main","index":0}]]},"Fetch Upcoming Appointments":{"main":[[{"node":"Filter Needs Reminder","type":"main","index":0}]]},"Filter Needs Reminder":{"main":[[{"node":"Personalize Message","type":"main","index":0}]]},"Personalize Message":{"main":[[{"node":"Send SMS Reminder","type":"main","index":0},{"node":"Send Email Reminder","type":"main","index":0}]]},"Send SMS Reminder":{"main":[[{"node":"Mark Reminder Sent","type":"main","index":0}]]},"Send Email Reminder":{"main":[[{"node":"Mark Reminder Sent","type":"main","index":0}]]}}}