บทที่แล้ว คุณเริ่มคิดเป็นแล้วว่า เมื่อ [trigger] -> ให้ [action]
บทนี้เราจะเอาสิ่งนั้นมาทำให้เกิดขึ้นจริงเป็นครั้งแรก ด้วย trigger ที่ชัดและจับต้องง่ายที่สุด: เมื่อมีผู้ใช้ใหม่สมัครเข้ามา ให้แอปส่งอีเมลต้อนรับไปหาเขาทันที
นี่คือจังหวะที่แอปของคุณจะ “พูด” กับคนใช้เป็นครั้งแรก แม้เขาจะปิดหน้าเว็บไปแล้วก็ตาม
ถ้าจะส่งอีเมลอัตโนมัติ แอปต้องมีคนช่วยส่ง
แอปของคุณไม่ได้ส่งอีเมลออกจากตัวมันเองแบบลอยๆ
มันต้องมีบริการส่งอีเมลอัตโนมัติช่วยอยู่ข้างหลัง เหมือนคอร์สก่อนๆ ที่คุณมี Supabase ช่วยเรื่องข้อมูล และมี Stripe ช่วยเรื่องเงิน
บทนี้เราจะใช้ Resend (บริการส่งอีเมลอัตโนมัติ) เป็นตัวช่วยหลัก เพราะมันมีทั้งแนวทางเชื่อมกับ Lovable และเข้ากับ Supabase ได้ดี
ลองนึกถึงผู้ช่วยของแอปอีกครั้ง
ตอนนี้คุณไม่ได้แค่บอกว่า “ถ้ามีเหตุการณ์นี้ ให้ทำอะไร” แต่คุณกำลังจ้างคนที่ทำหน้าที่ส่งข้อความออกไปให้จริง
เมื่อ ผู้ใช้สมัครสมาชิก -> แอปบอกบริการส่งอีเมลว่า “ช่วยส่งอีเมลนี้ให้คนนี้หน่อย” -> ผู้ใช้เปิดกล่องข้อความแล้วเห็นมัน
Trigger ของบทนี้ชัดมาก: มีคนสมัครใหม่
เหตุผลที่เราเริ่มจาก welcome email ก็เพราะมันเป็น event trigger ที่ชัดที่สุดแบบหนึ่ง
- มีจุดเริ่มชัด: สมัครสำเร็จ
- มี action ที่สมเหตุผล: ส่งอีเมลต้อนรับ
- มีผลลัพธ์ให้เห็นชัด: กล่องข้อความมีเมลใหม่เข้ามาจริง
ที่สำคัญ มันเป็น notification ที่คนส่วนใหญ่มักไม่รำคาญด้วย ถ้าทำดี
เพราะมันช่วยตอบคำถามทันทีว่า
- สมัครสำเร็จแล้วใช่ไหม
- แอปนี้ทำอะไรได้
- ควรทำอะไรต่อเป็นอย่างแรก
นี่คือ notification แบบ “ผู้ใช้มักขอบคุณ” มากกว่า “ผู้ใช้มักรำคาญ”
ก่อนลงมือ — ตั้งค่า Resend แบบภาพรวม
ก่อนส่ง prompt ให้เตรียมส่วนนี้ก่อน
- ไปที่
resend.comแล้วสมัครบัญชี - เข้า dashboard ของ Resend
- มองหาส่วนสำหรับ API key
- สร้าง key สำหรับใช้งานกับโปรเจกต์นี้
- กลับมาที่ Lovable แล้วมองหาส่วน integration หรือ setting ที่เชื่อมกับ Resend
- เชื่อม Resend ให้พร้อมใช้งานกับแอปของคุณ
จาก docs ตอนนี้ แนวทางหลักของ Resend คือใช้มันร่วมกับ Supabase และ Edge Functions ได้ดีอยู่แล้ว เพราะฉะนั้นสำหรับคอร์สนี้ให้คิดง่ายๆ ว่า Resend คือ “มือส่งอีเมล” ของระบบคุณ
คุณไม่ต้องจำชื่อปุ่มทุกปุ่มให้เป๊ะ ขอแค่รู้ว่าต้องมี 2 อย่าง
- บัญชี Resend ที่พร้อมใช้งาน
- การเชื่อมต่อระหว่าง Resend กับโปรเจกต์ของคุณ
บทนี้เอาให้ง่ายและเห็นผลก่อน เริ่มจากอีเมลต้อนรับอันเดียว อย่าเพิ่งเพิ่ม newsletter, weekly digest, หรือเมลหลายประเภทพร้อมกันในรอบแรก
ลงมือทำ — เพิ่มอีเมลต้อนรับอัตโนมัติ
เปิดโปรเจกต์ expense tracker ของคุณ แล้วส่ง prompt นี้
เพิ่มระบบส่งอีเมลต้อนรับอัตโนมัติ
- เมื่อผู้ใช้สมัครสมาชิกสำเร็จ ให้ส่งอีเมลต้อนรับทันที
- หัวข้ออีเมล: "ยินดีต้อนรับสู่ [ชื่อแอป] 🎉"
- เนื้อหาอีเมล:
- ทักทายผู้ใช้แบบเป็นมิตร
- อธิบายสั้นๆ ว่าแอปนี้ช่วยเรื่องอะไร
- แนะนำให้เริ่มเพิ่มรายการค่าใช้จ่ายแรก
- ใส่ลิงก์กลับไปที่แอป
- ทำให้อีเมลอ่านง่ายทั้งบนคอมและมือถือ
- ใช้ Resend เป็นบริการส่งอีเมล
ไม่เปลี่ยนฟังก์ชันหรือ design ของแอปที่มีอยู่แล้ว
prompt นี้กำลังเชื่อม 3 อย่างเข้าด้วยกัน
- trigger: สมัครสมาชิกสำเร็จ
- action: ส่งอีเมล
- เนื้อหาที่ส่ง: ข้อความต้อนรับที่ช่วยให้ผู้ใช้เริ่มต้นต่อได้
ทดสอบ — ให้แอปส่งอีเมลมาหาคุณจริงๆ
หลังจาก AI ทำเสร็จ ให้ทดสอบแบบนี้
- สมัครบัญชีใหม่ด้วยอีเมลที่คุณเปิดดูได้จริง
- ทำขั้นตอนสมัครให้เสร็จ
- รอสักครู่
- เปิด inbox ของอีเมลนั้น
- ดูว่ามีอีเมลต้อนรับเข้ามาหรือไม่
สิ่งที่คุณอยากเห็นไม่ใช่แค่ว่า “มีอีเมลมา”
แต่คืออีเมลนั้นควรให้ความรู้สึกว่า
- คนสมัครมาถึงที่ถูกแล้ว
- แอปนี้มีประโยชน์อะไร
- ควรทำอะไรต่อเป็นอย่างแรก
นี่คือจังหวะสำคัญมาก เพราะเป็นครั้งแรกที่แอปของคุณสื่อสารกับคนใช้ “นอกหน้าแอป” ได้จริง
ถ้าคุณสมัครบัญชีใหม่แล้วเห็นอีเมลต้อนรับเข้ามาจริง นี่คือช่วงที่แอปของคุณเลิกเป็นของที่รอให้คนเปิดอย่างเดียวแล้ว
ถ้ายังไม่เข้า inbox อย่าเพิ่งสรุปว่าระบบพัง
อีเมลเป็นสิ่งที่มีหลายชั้นกว่าการแสดงผลบนหน้าจอ
ถ้ายังไม่เห็นอีเมล ให้เช็กทีละอย่างแบบง่ายๆ
- ลองดูใน spam หรือ promotions ก่อน
- ดูว่า Resend เชื่อมกับโปรเจกต์เรียบร้อยหรือยัง
- ลองสมัครด้วยอีเมลใหม่อีกครั้งหนึ่ง
- ดูว่า trigger เกิดจริงหรือไม่ เช่น ผู้ใช้สมัครสำเร็จจริงหรือยัง
ถ้ายังไม่มา ลองบอก AI แบบนี้
ตอนนี้ผู้ใช้สมัครสำเร็จแล้ว แต่ยังไม่ได้รับอีเมลต้อนรับ
ช่วยตรวจการเชื่อมต่อกับ Resend และทำให้หลังสมัครสำเร็จ ระบบส่งอีเมลต้อนรับได้จริง
ไม่เปลี่ยนฟังก์ชันหรือ design ที่มีอยู่แล้ว
welcome email ที่ดีไม่ควรมีแค่คำว่า “ยินดีต้อนรับ” แล้วจบ มันควรช่วยให้ผู้ใช้รู้ว่าจะเริ่มใช้งานยังไงต่อ
เพิ่มอีกหนึ่ง event trigger ที่ใช้บ่อยมาก
พอ welcome email ทำงานแล้ว คุณจะเริ่มเห็น pattern นี้ชัดขึ้นมาก
เมื่อมีบางอย่างเกิดขึ้น -> ส่งอีเมล
อีกตัวอย่างที่ใช้บ่อยมากคือ
เมื่อผู้ใช้ชำระเงินสำเร็จ -> ส่งอีเมลยืนยันการชำระเงิน
ถ้าคุณอยากเพิ่มต่อ ลองใช้ prompt แบบนี้
เพิ่มอีเมลยืนยันเมื่อชำระเงินสำเร็จ
- เมื่อผู้ใช้ชำระเงินสำเร็จ ให้ส่งอีเมลยืนยันทันที
- เนื้อหาอีเมล:
- ขอบคุณที่ชำระเงิน
- สรุปสิ่งที่ผู้ใช้ได้รับ
- ใส่ลิงก์ไปหน้าจัดการสมาชิกหรือหน้าที่เกี่ยวข้อง
- ทำให้อีเมลดูน่าเชื่อถือและอ่านง่าย
ไม่เปลี่ยนฟังก์ชันหรือ design ที่มีอยู่แล้ว
จุดสำคัญคือคุณไม่จำเป็นต้องคิดทุกอย่างใหม่แล้ว
พอเข้าใจ trigger -> action หนึ่งรอบ คุณสามารถย้าย pattern เดิมไปใช้กับ event อื่นได้ทันที
สำหรับแอปของคุณเอง
event trigger ที่เหมาะกับอีเมลอัตโนมัติมักเป็นจังหวะพวกนี้
- สมัครสมาชิกสำเร็จ
- จ่ายเงินสำเร็จ
- ทำ action สำคัญครั้งแรก
- ได้รับ achievement หรือผ่าน milestone บางอย่าง
คำถามสำคัญคือ
ถ้ามีเหตุการณ์นี้เกิดขึ้น ผู้ใช้ควรได้รับอีเมลไหม หรือควรอยู่แค่ในแอปพอ
ไม่ใช่ทุก event ต้องส่งอีเมล
ถ้าสิ่งนั้นเล็กเกินไป หรือไม่ได้มีประโยชน์นอกแอป อาจยังไม่ต้องส่ง
ยิ่งแอปของคุณทำอะไรได้มากขึ้น คุณยิ่งต้องเลือกให้ดีว่าเหตุการณ์ไหนควรส่งออกไปจริงๆ เพราะ inbox ของคนใช้มีค่ามาก
วันนี้คุณไม่ได้แค่ตั้งระบบอีเมล
สิ่งที่คุณทำจริงๆ คือทำให้แอปของคุณ “ออกไปหาคนใช้” เป็นครั้งแรก
ก่อนหน้านี้ ทุกอย่างเกิดขึ้นในหน้าเว็บเป็นหลัก แต่ตอนนี้แอปของคุณส่งข้อความไปถึงชีวิตจริงของผู้ใช้แล้ว ผ่าน inbox ที่เขาใช้ทุกวัน
นี่คือก้าวใหญ่ เพราะมันเปลี่ยนแอปจากของที่รอให้คนกลับมาใช้ ไปเป็นของที่รู้จักเริ่มบทสนทนาในจังหวะที่เหมาะสม
พออีเมลต้อนรับเข้า inbox ได้จริง แอปของคุณก็เริ่มมีความสามารถแบบผลิตภัณฑ์จริงอีกอย่างหนึ่งแล้ว คือสื่อสารกับคนใช้ได้แม้อยู่คนละหน้าจอ
คุณเพิ่งทำอะไรสำเร็จไปแล้วบ้าง
- คุณเข้าใจแล้วว่าการส่งอีเมลอัตโนมัติคือ event trigger แบบหนึ่ง
- คุณเชื่อมบริการส่งอีเมลเข้ากับแอปได้แล้ว
- คุณทำให้ระบบส่ง welcome email ได้จริงเมื่อมีผู้ใช้สมัครใหม่
- คุณเห็นแล้วว่าแอปของคุณสามารถ “พูด” กับคนใช้ได้นอกหน้าแอปจริงๆ
บทต่อไป เราจะไปต่ออีกขั้น จากการส่งเมื่อมี event ไปสู่การส่งตามเวลา เพราะแอปที่ฉลาดไม่ได้แค่ตอบสนองต่อสิ่งที่เพิ่งเกิด แต่ยังรู้ด้วยว่าถึงเวลาไหนควรเตือนอะไร