📑 สารบัญ
ติดตั้งบน Google
ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้คือ “ฐานข้อมูล” ของระบบ เก็บลูกค้า ดีล กิจกรรม ผู้ใช้ และการตั้งค่า
- เข้า sheets.new ด้วยบัญชี Google ที่จะเป็นเจ้าของระบบ (แนะนำบัญชีของบริษัท ไม่ใช่บัญชีส่วนตัวของพนักงาน)
- คลิกชื่อไฟล์มุมซ้ายบน ตั้งชื่อ เช่น CRM บริษัทของเรา
ได้ แต่แนะนำไฟล์ใหม่เปล่า ๆ ระบบจะสร้างชีต Settings Users Customers Deals Activities ให้เอง และจะไม่แตะชีตอื่นที่มีอยู่
ใส่ระบบ
วางไฟล์ Code.gs, Index.html และ appsscript.json
- ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script (Extensions › Apps Script)
- ตั้งชื่อโปรเจกต์มุมซ้ายบนเป็น Jabphap Sales CRM
- เปิดไฟล์ Code.gs ที่มีอยู่ กด Ctrl+A ลบโค้ดเดิม แล้ววางเนื้อหาจากไฟล์
Code.gsที่ได้รับทั้งไฟล์ - กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า
Index(ตัว I ใหญ่ ไม่ต้องพิมพ์ .html) ลบเนื้อหาเดิม แล้ววางเนื้อหาจากIndex.html - ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก แสดงไฟล์ Manifest “appsscript.json” ในเครื่องมือแก้ไข กลับมาที่หน้าแก้ไข เปิด
appsscript.jsonแล้ววางเนื้อหาจากไฟล์ที่ได้รับแทนทั้งหมด - กด Ctrl+S บันทึกทุกไฟล์
ต้องมี 3 ไฟล์: Code.gs, Index.html, appsscript.json — ชื่อ Index ต้องตรงทุกตัวอักษร
ถ้าคัดลอกขาดท้ายไฟล์ จะเกิดข้อผิดพลาด “SyntaxError” ตอนบันทึก ให้คัดลอกใหม่ทั้งไฟล์
appsscript.json ทำหน้าที่อะไร
กำหนดเขตเวลา Asia/Bangkok (นัดติดตามและสรุปประจำวันใช้เวลาไทย) กำหนดสิทธิ์ที่ระบบขอใช้ให้น้อยที่สุด (ชีต, เมนูในชีต, ทริกเกอร์, ส่งอีเมล, เรียก LINE API) และตั้งค่าเว็บแอปให้ทำงานในนามเจ้าของ เข้าใช้ผ่านลิงก์โดยมีการล็อกอินด้วย PIN ภายในแอป
สร้างฐานข้อมูล
รันฟังก์ชัน setup
- ที่แถบเครื่องมือด้านบนของหน้าแก้ไขโค้ด เลือกฟังก์ชัน setup ในช่องรายการฟังก์ชัน
- กด ▶ เรียกใช้ (Run) — ครั้งแรก Google จะขออนุญาตสิทธิ์ ทำตามขั้นตอนที่ 4
- รอจนบันทึกการดำเนินการขึ้นว่า “ติดตั้ง Jabphap Sales CRM เรียบร้อย”
Settings · Users · Customers · Deals · Activities
ลูกค้า 14 ราย ดีล 22 ดีล กิจกรรมและนัดติดตาม ให้ลองใช้ได้ทันที
ตั้งทริกเกอร์รายวัน 08:00 สำหรับส่งสรุปงานติดตาม (ปิดได้ในหน้าตั้งค่า)
หลังจากนี้ เมื่อเปิดไฟล์ชีตจะมีเมนู 📇 Sales CRM บนแถบเมนู ใช้ซ่อมฐานข้อมูล (รัน setup ซ้ำได้ ไม่ลบข้อมูลเดิม) แสดงลิงก์เว็บแอป รีเซ็ต PIN ผู้ดูแล และล้างข้อมูลตัวอย่าง
ความปลอดภัย
อนุญาตสิทธิ์ให้สคริปต์
- หน้าต่าง “ต้องมีการให้สิทธิ์” กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
- ถ้าเจอหน้า “Google ยังไม่ได้ยืนยันแอปนี้” กด ขั้นสูง › ไปที่ Jabphap Sales CRM (ไม่ปลอดภัย) — เป็นข้อความปกติของสคริปต์ที่คุณติดตั้งเอง
- ตรวจรายการสิทธิ์ แล้วกด อนุญาต จากนั้นกลับไปรัน setup อีกครั้งถ้ายังไม่ขึ้นข้อความติดตั้งเรียบร้อย


| สิทธิ์ที่ขอ | ใช้ทำอะไร |
|---|---|
| ดู แก้ไข สร้าง สเปรดชีต | อ่าน/เขียนข้อมูลลูกค้า ดีล กิจกรรม ในไฟล์ชีตของคุณ |
| แสดงเนื้อหาในแอป Google | เมนู 📇 Sales CRM บนไฟล์ชีต |
| จัดการทริกเกอร์ | ตั้งเวลาส่งสรุปงานติดตามทุกวัน |
| ส่งอีเมลในนามคุณ | ส่งสรุปงานติดตามถึงพนักงานขายแต่ละคน |
| เชื่อมต่อบริการภายนอก | ส่งข้อความเข้า LINE ผ่าน LINE Messaging API (ใช้เมื่อเปิดใช้เท่านั้น) |
เปิดให้ทีมใช้
เผยแพร่เป็นเว็บแอป
- มุมขวาบนของหน้าแก้ไขโค้ด กด การทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่ (Deploy › New deployment)
- กดรูปเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป
- ตั้งค่า: เรียกใช้ในฐานะ = ฉัน (อีเมลของคุณ) · ผู้ที่มีสิทธิ์เข้าถึง = ทุกคน แล้วกด ทำให้ใช้งานได้
- คัดลอก URL ของเว็บแอป (ลงท้ายด้วย
/exec) ส่งให้ทีมขาย บันทึกเป็นบุ๊กมาร์กหรือ “เพิ่มไปยังหน้าจอหลัก” บนมือถือ




ข้อมูลไม่ได้เปิดเผยต่อสาธารณะ ทุกคนที่เปิดลิงก์จะเห็นแค่หน้าล็อกอิน ต้องมีชื่อผู้ใช้และ PIN ที่ผู้ดูแลสร้างให้ ระบบล็อกบัญชี 5 นาทีเมื่อใส่ PIN ผิด 5 ครั้ง และไฟล์ชีตยังเป็นของคุณคนเดียว (อย่าแชร์ไฟล์ชีตให้คนอื่นถ้าไม่จำเป็น)
ใช้งานได้แล้ว
เข้าสู่ระบบครั้งแรกและเปลี่ยน PIN
- เปิด URL เว็บแอป ใส่ชื่อผู้ใช้ admin และ PIN 1234
- ระบบจะบังคับตั้ง PIN ใหม่ทันที (ตัวเลข 4–8 หลัก ห้ามใช้ 1234 หรือ 0000)
- ไปที่ ตั้งค่า › ทั่วไป ใส่ชื่อบริษัท เป้ายอดขายต่อเดือน และที่มาของลูกค้าที่ทีมใช้จริง

เปิดไฟล์ชีต › เมนู 📇 Sales CRM › 🔑 รีเซ็ต PIN ผู้ดูแล (admin) เป็น 1234 แล้วเข้าสู่ระบบใหม่ ส่วนพนักงานขายที่ลืม PIN ให้ผู้ดูแลรีเซ็ตที่หน้าตั้งค่า › ผู้ใช้งาน
ตั้งค่าเพิ่มเติม
ทำหลังติดตั้งเสร็จ จากหน้าเว็บแอปโดยใช้บัญชีผู้ดูแล
ทีมขาย
เพิ่มพนักงานขาย
- ไปที่ ตั้งค่า › ผู้ใช้งาน กด เพิ่มผู้ใช้
- กรอกชื่อ-สกุล ชื่อผู้ใช้ภาษาอังกฤษ (เช่น
somchai) สิทธิ์ สีประจำตัว อีเมล (สำหรับรับสรุปงานติดตาม) และ PIN เริ่มต้น - ส่งลิงก์เว็บแอป ชื่อผู้ใช้ และ PIN เริ่มต้นให้พนักงาน — ครั้งแรกที่เข้าระบบจะถูกขอให้ตั้ง PIN ใหม่

| สิทธิ์ | ทำอะไรได้ |
|---|---|
| ผู้ดูแลระบบ | ทุกอย่าง · แก้ไข/ลบดีลของทุกคน · ลบลูกค้า · ตั้งค่าขั้นตอนการขาย ผู้ใช้ และการแจ้งเตือน |
| พนักงานขาย | สร้างดีลและลูกค้า · บันทึกกิจกรรม · แก้ไข/ย้าย/ปิดดีลของตัวเอง · เห็นดีลทั้งทีมหรือเฉพาะของตัวเองตามที่ผู้ดูแลกำหนด |
| ดูอีเมลหลักของบัญชี Google | ตรวจว่าผู้รันฟังก์ชันผู้ดูแล (ติดตั้ง / รีเซ็ตรหัสผ่าน) เป็นเจ้าของไฟล์ — กันไม่ให้ผู้เปิดเว็บแอปเรียกใช้ได้ |
ไม่พลาดนัด
ตั้งค่าแจ้งเตือนทางอีเมลและ LINE
ทุกเช้าตามเวลาที่ตั้ง ระบบจะรวบรวมงานติดตามที่ถึงกำหนดวันนี้และที่เลยกำหนด ส่งอีเมลถึงเจ้าของดีลแต่ละคน และ/หรือส่งสรุปทั้งทีมเข้า LINE
- ไปที่ ตั้งค่า › การแจ้งเตือน ติ๊ก ส่งสรุปงานติดตามประจำวัน ตั้งชั่วโมงที่จะส่ง (0–23) แล้วเลือกช่องทาง
- อีเมล: ใส่อีเมลให้ผู้ใช้แต่ละคนที่หน้าผู้ใช้งาน ระบบส่งจาก Gmail ของเจ้าของระบบ (บัญชี Gmail ทั่วไปส่งได้ประมาณ 100 ฉบับ/วัน)
- LINE: สร้าง LINE Official Account ที่ manager.line.biz › ตั้งค่า › เปิดใช้ Messaging API › ไปที่ LINE Developers Console เลือก Channel › แท็บ Messaging API › ออก Channel access token (long-lived) แล้วคัดลอกมาวาง
- ใส่ User ID ของผู้รับ (ดูได้ที่แท็บ Basic settings › Your user ID ขึ้นต้นด้วย U) หรือ Group ID ของกลุ่มทีมขาย (ขึ้นต้นด้วย C — เชิญบอทเข้ากลุ่มก่อน) แล้วกด บันทึกการตั้งค่า
- กด ทดสอบส่ง เพื่อตรวจว่าได้รับทั้งอีเมลและ LINE

ระบบนี้ใช้ LINE Messaging API ซึ่งเป็นช่องทางที่ LINE รองรับปัจจุบัน แพ็กเกจฟรีของ LINE OA ส่งข้อความได้จำนวนจำกัดต่อเดือน (สรุปวันละ 1 ข้อความถือว่าน้อยมาก)
เริ่มใช้งานจริง
ล้างข้อมูลตัวอย่าง
เมื่อลองใช้จนคล่องแล้ว เปิดไฟล์ชีต › เมนู 📇 Sales CRM › 🧹 ล้างข้อมูลตัวอย่าง ระบบจะลบทุกแถวในชีต Customers Deals Activities แต่เก็บการตั้งค่าและผู้ใช้ไว้
ข้อมูลตัวอย่างมีพนักงานขายจำลอง 2 คน (napatsorn, teerawat) ให้ไปที่ ตั้งค่า › ผู้ใช้งาน แล้วปิดบัญชี หรือแก้ชื่อ/รีเซ็ต PIN เป็นพนักงานจริง
ดูแลระบบ
อัปเดตเป็นเวอร์ชันใหม่
- วางทับ
Code.gsและIndex.htmlด้วยไฟล์เวอร์ชันใหม่ แล้วบันทึก - รัน setup อีกครั้ง (เพิ่มคอลัมน์ใหม่ให้อัตโนมัติ ไม่ลบข้อมูล)
- ไปที่ การทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดดินสอ ✎ เลือกเวอร์ชัน เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
อ้างอิง
โครงสร้างชีตในฐานข้อมูล
แก้ไขข้อมูลในชีตโดยตรงได้ แต่ห้ามเปลี่ยนชื่อชีตหรือหัวคอลัมน์แถวที่ 1 และห้ามแก้คอลัมน์ id
| ชีต | เก็บอะไร | คอลัมน์สำคัญ |
|---|---|---|
| Settings | การตั้งค่าระบบ | company_name, stages (JSON ขั้นตอนการขาย), sources, lost_reasons, monthly_target, digest_* |
| Users | ผู้ใช้งาน | username, name, role (admin/sales), color, email, pin_hash + salt (PIN เข้ารหัสทางเดียว), active |
| Customers | ลูกค้า | name, company, phone, email, line_id, source, tags, address, owner_id |
| Deals | ดีลขาย | title, customer_id, value, stage, probability, owner_id, expected_close, status (open/won/lost), lost_reason, closed_at |
| Activities | กิจกรรมและนัดติดตาม | deal_id, customer_id, type (call/meeting/line/email/quote/task/note), note, due_at (นัด), done, done_at |
ช่วยเหลือ
คำถามที่พบบ่อย
เปิดลิงก์แล้วขึ้น “ไม่พบฟังก์ชันสคริปต์: doGet”
วาง Code.gs ไม่ครบหรือยังไม่บันทึก วางใหม่ทั้งไฟล์ กด Ctrl+S แล้ว Deploy เวอร์ชันใหม่
หน้าเว็บขาว หรือขึ้น “ไม่พบไฟล์ HTML ชื่อ Index”
ไฟล์ HTML ต้องชื่อ Index ตรงตัวพิมพ์ใหญ่-เล็ก ตรวจที่รายการไฟล์ซ้ายมือ
ขึ้น “ยังไม่ได้ติดตั้งระบบ — รันฟังก์ชัน setup ก่อน”
ยังไม่ได้รัน setup หรือรันไม่สำเร็จ กลับไปที่ขั้นตอนที่ 3
แก้โค้ด/ตั้งค่าแล้ว แต่เว็บแอปยังเป็นแบบเดิม
URL /exec ใช้เวอร์ชันที่ Deploy ไว้ ต้องทำ “จัดการการทำให้ใช้งานได้ › เวอร์ชันใหม่” ทุกครั้งที่แก้โค้ด (การตั้งค่าในหน้าเว็บมีผลทันทีไม่ต้อง Deploy ใหม่)
หมดเวลาการใช้งาน ต้องล็อกอินใหม่บ่อย
ระบบจำการเข้าสู่ระบบไว้ 6 ชั่วโมงนับจากการใช้งานล่าสุด เพื่อความปลอดภัยของข้อมูลลูกค้า
ไม่ได้รับอีเมลสรุปงานติดตาม
ตรวจว่าผู้ใช้มีอีเมลในหน้าผู้ใช้งาน เปิด “ส่งสรุปงานติดตามประจำวัน” และวันนั้นมีงานถึงกำหนด (ไม่มีงาน = ไม่ส่ง) ดูโฟลเดอร์สแปมด้วย และกดบันทึกการตั้งค่าหนึ่งครั้งเพื่อสร้างทริกเกอร์ใหม่
ใช้พร้อมกันหลายคนได้ไหม ข้อมูลจะชนกันหรือเปล่า
ได้ ทุกการบันทึกใช้ LockService ป้องกันการเขียนทับกัน เหมาะกับทีมขายประมาณ 2–20 คน และข้อมูลหลายพันดีล
ลิขสิทธิ์
ข้อกำหนดสิทธิ์การใช้งาน
Jabphap Sales CRM สงวนลิขสิทธิ์ © 2569 (2026) jabphap.com · ผู้ซื้อได้รับสิทธิ์ใช้งานสำหรับกิจการของตนเองตามที่ระบุในการสั่งซื้อ ห้ามจำหน่าย แจกจ่าย หรือดัดแปลงเพื่อขายต่อ รายละเอียดดูไฟล์ LICENSE.txt