OpenClaw untuk Apartment Maintenance: Dari Komplain WhatsApp Jadi Ticket yang Rapi

📎 Source:openclaw-apartment-maintenance.md — view on GitHub & star ⭐
OpenClaw untuk Apartment Maintenance: Dari Komplain WhatsApp Jadi Ticket yang Rapi

Kalau kamu pernah handle apartment, kos premium, serviced residence, atau building facility, kamu pasti tahu satu hal ini: maintenance request itu kelihatannya simple, tapi chaos-nya bisa luar biasa.
Ada penghuni chat WhatsApp.
Ada yang telepon security.
Ada yang lapor ke receptionist.
Ada owner unit yang langsung WA building manager.
Ada teknisi yang bilang sudah selesai, tapi nggak ada photo proof.
Ada resident yang tanya lagi, “Pak, kapan dicek?” padahal request-nya sudah masuk kemarin.
Masalahnya bukan cuma bocor, AC rusak, lampu mati, atau pintu macet.
Masalah besarnya adalah workflow.
Request masuknya scattered. Assignment-nya informal. Status-nya nggak jelas. Reporting-nya ribet. Dan saat management minta data bulanan, semua orang baru bongkar chat history.
Nah, use case ini cocok banget buat OpenClaw.
Bukan karena OpenClaw tiba-tiba jadi property management ERP lengkap. Tapi karena OpenClaw bisa jadi coordination layer yang menyambungkan WhatsApp, database ticket, technician workflow, manager dashboard, reminder, dan report.
Kalau kamu butuh VPS buat deploy OpenClaw, backend API, reminder worker, dashboard, dan WhatsApp automation, pakai affiliate link SUMOPOD di sini:
https://blog.fanani.co/sumopod
Kalau kamu mau versi teknis full English, baca GitHub tutorial-nya di sini:
Dan kalau mau sistem maintenance custom buat building kamu sendiri, bisa konsultasi ke:
- fanani@cvrfm.com
- +628115443456
1. Problem Real di Apartment Maintenance
Di banyak apartment, maintenance operation masih terlalu bergantung ke chat manual.
Ini contoh alur yang sering terjadi:
- penghuni WA admin, “Pak, toilet bocor, Unit B-1205”
- admin forward ke grup teknisi
- teknisi tanya lagi, “Tower mana?”
- penghuni kirim foto ke admin, tapi foto tidak ikut ter-forward
- teknisi datang, tapi tidak update status
- resident tanya lagi malamnya
- manager baru tahu ada request overdue setelah resident complain
Familiar?
Ini bukan problem orangnya malas. Ini problem sistemnya belum punya struktur.
Typical pain point:
- request masuk dari banyak channel
- unit number sering tidak lengkap
- urgency request tidak langsung kebaca
- teknisi dapat assignment lewat chat informal
- tidak ada SLA tracking
- bukti pekerjaan tidak tersimpan rapi
- resident sering follow up karena tidak dapat status
- manager tidak punya view open ticket yang reliable
- issue berulang tidak kelihatan sampai jadi mahal
Kalau cuma satu atau dua request per minggu, mungkin masih bisa manual.
Tapi kalau building punya ratusan unit, request kecil bisa numpuk jadi operational noise.
OpenClaw bisa bantu karena dia kuat di messaging, automation, tool calling, reminder, dan human-in-the-loop workflow.
2. Kenapa WhatsApp Tetap Jadi Interface Utama
Aku tahu banyak orang suka bilang, “Bikin app aja.”
Tapi untuk resident maintenance, app baru sering gagal karena adoption friction.
Resident tidak mau install aplikasi hanya untuk lapor kran bocor.
Teknisi juga tidak mau buka sistem berat hanya untuk update status lampu koridor.
Jadi pendekatan yang lebih realistic:
- resident pakai WhatsApp
- teknisi pakai WhatsApp atau mobile web ringan
- manager pakai dashboard
- OpenClaw yang koordinasi di belakang
- database yang jadi source of truth
Show diagram source
flowchart LR
A[Resident WhatsApp] --> B[OpenClaw Intake]
B --> C[Ticket Database]
C --> D[Technician Queue]
C --> E[Manager Dashboard]
D --> F[Proof Photo and Notes]
F --> C
C --> G[Resident Status Update]Simple, tapi powerful.
Resident tidak perlu belajar interface baru. Staff tetap bisa kerja dari tools yang familiar. Management dapat data yang rapi.
3. Arsitektur High-Level
Bayangkan sistemnya sebagai lima layer.
- Resident channel: WhatsApp untuk lapor dan terima update.
- OpenClaw workflow layer: intake, AI classification, routing, reminder, escalation.
- Backend API: ticket CRUD, authentication, upload, role access.
- Database and storage: tickets, units, residents, technicians, photos.
- Dashboard: manager view, SLA, reports, performance.
Show diagram source
flowchart TB
subgraph Channel[Channels]
WA[WhatsApp Resident]
TECH[Technician Mobile View]
WEB[Manager Dashboard]
end
subgraph OpenClaw[OpenClaw Workflow]
INTAKE[Intake Agent]
CLASSIFY[AI Classification]
ROUTE[Routing Rules]
SLA[SLA Reminder Worker]
REPORT[Daily Report Agent]
end
subgraph App[Application Layer]
API[Ticket API]
AUTH[Role Access]
FILES[Photo Upload]
end
subgraph Data[Data Layer]
DB[(Ticket DB)]
STORE[(Object Storage)]
end
WA --> INTAKE
INTAKE --> CLASSIFY
CLASSIFY --> ROUTE
ROUTE --> API
SLA --> API
REPORT --> WEB
TECH --> API
WEB --> API
API --> DB
FILES --> STORE
API --> FILES
API --> WADi sini OpenClaw bukan pengganti backend.
Backend tetap handle data, auth, upload, dan API.
OpenClaw handle workflow yang hidup: membaca request, mengarahkan, mengingatkan, merangkum, dan mengirim update.
4. Lifecycle Ticket
Maintenance request harus punya status yang jelas.
Kalau status cuma “open” dan “done”, biasanya tidak cukup.
Paling praktis mulai dari lifecycle ini:
- new: request baru masuk
- triaged: kategori dan priority sudah ditentukan
- assigned: sudah ada teknisi atau vendor
- in_progress: sedang dikerjakan
- waiting_resident: butuh akses unit atau info tambahan
- waiting_parts: butuh spare part
- done_pending_review: selesai tapi belum final confirmation
- closed: selesai dan archived
- cancelled: duplicate, invalid, atau batal
Show diagram source
stateDiagram-v2
[*] --> New
New --> Triaged
Triaged --> Assigned
Assigned --> InProgress
InProgress --> WaitingResident
WaitingResident --> InProgress
InProgress --> WaitingParts
WaitingParts --> InProgress
InProgress --> DonePendingReview
DonePendingReview --> Closed
New --> Cancelled
Triaged --> Cancelled
Closed --> [*]
Cancelled --> [*]Kenapa ini penting?
Karena resident update jadi lebih clear.
Bukan cuma “akan dicek ya.”
Tapi:
Request Unit A-1708 sudah assigned ke tim HVAC. Estimasi kunjungan hari ini 13:00 sampai 15:00.
Atau:
Ticket masih waiting parts. Spare part dijadwalkan datang besok pagi.
Status yang jelas mengurangi follow-up manual.
5. Data Model yang Cukup Waras
Jangan overbuild dari awal.
Mulai dari data model yang boring tapi tahan operasi.
Show diagram source
erDiagram
BUILDINGS ||--o{ UNITS : contains
UNITS ||--o{ RESIDENTS : occupied_by
RESIDENTS ||--o{ TICKETS : creates
TICKETS ||--o{ TICKET_EVENTS : has
TICKETS ||--o{ ATTACHMENTS : includes
TECHNICIANS ||--o{ TICKETS : assigned_to
CATEGORIES ||--o{ TICKETS : classifies
BUILDINGS {
uuid id
text name
text address
}
UNITS {
uuid id
uuid building_id
text tower
text floor
text unit_number
}
RESIDENTS {
uuid id
uuid unit_id
text name
text phone
}
TICKETS {
uuid id
uuid unit_id
uuid resident_id
uuid technician_id
uuid category_id
text status
text priority
text description
timestamptz due_at
}
TICKET_EVENTS {
uuid id
uuid ticket_id
text event_type
text note
timestamptz created_at
}Yang penting data ini bisa jawab:
- siapa yang lapor?
- unit mana?
- masalahnya apa?
- prioritasnya apa?
- siapa yang handle?
- status sekarang apa?
- bukti fotonya mana?
- kapan selesai?
Kalau itu sudah beres, reporting akan jauh lebih gampang.
6. Intake dengan AI, Tapi Tetap Ada Guardrail
AI enak dipakai untuk parse message natural.
Contoh resident chat:
Pak, AC kamar utama bocor. Unit A-1708. Airnya netes terus, ini saya kirim foto.
OpenClaw bisa extract:
- unit: A-1708
- category: AC / HVAC
- urgency: medium or high
- issue: water leak from master bedroom AC
- attachment: photo
- suggested team: HVAC technician
Tapi jangan 100% trust AI.
Rules tetap perlu:
- unit number harus match database
- emergency keyword harus trigger fast path
- duplicate ticket harus dicek
- foto harus tersimpan sebelum ticket dikonfirmasi
- request tanpa unit harus minta clarification
Show diagram source
flowchart TD
A[Incoming WhatsApp] --> B{Known Resident?}
B -- Yes --> C[Match Unit]
B -- No --> D[Ask Unit Number]
C --> E[AI Extract Category and Urgency]
D --> E
E --> F{Enough Info?}
F -- No --> G[Ask Clarifying Question]
F -- Yes --> H[Create Ticket]
H --> I[Send Confirmation]
H --> J[Assign or Queue]This is the sweet spot.
AI helps with language. System rules protect operations.
7. Priority dan SLA
Apartment maintenance butuh priority model yang sederhana.
OpenClaw bisa jalanin scheduled worker:
- cek P1 yang belum acknowledged
- cek P2 yang belum assigned
- remind teknisi yang stuck di in_progress
- kirim digest open ticket ke manager
- kirim delay update ke resident
Show diagram source
flowchart LR
T[Ticket Created] --> P{Priority}
P -->|P1| A[Immediate Manager Alert]
P -->|P2| B[Same-Day Assignment]
P -->|P3| C[Normal Queue]
P -->|P4| D[Planned Work]
A --> E[Escalation]
B --> F[Technician Reminder]
C --> G[Daily Digest]
D --> H[Weekly Plan]Di sinilah automation terasa banget.
Bukan karena AI menjawab semua hal. Tapi karena sistem tidak lupa.
8. Technician Workflow
Teknisi butuh workflow yang ringan.
Kalau terlalu ribet, mereka akan balik ke WhatsApp manual.
Flow yang cukup:
- teknisi dapat assignment
- buka ticket detail
- lihat unit, resident contact, description, photo
- tap Start Work
- tambah note dan photo proof
- tap Mark Done
- resident dapat update otomatis
Setiap action masuk audit trail.
Contoh event:
ticket_assignedtechnician_startedphoto_uploadedstatus_changedresident_notifiedticket_closed
Ini penting untuk dispute.
Kalau resident bilang belum dicek, manager bisa lihat timeline.
Kalau teknisi bilang sudah selesai, ada proof photo dan timestamp.
9. Manager Dashboard
Dashboard manager jangan cuma cantik.
Harus menjawab pertanyaan operasional.
Widget yang useful:
- open ticket today
- overdue SLA
- ticket by category
- average response time
- average completion time
- technician workload
- recurring issue by unit
- monthly closed tickets
- resident feedback
Show diagram source
flowchart TB
DB[(Ticket Database)] --> A[Open Tickets]
DB --> B[Overdue SLA]
DB --> C[Category Breakdown]
DB --> D[Technician Workload]
DB --> E[Recurring Issues]
DB --> F[Monthly Report]Mulai dari empat tab dulu:
- Today
- Open
- Overdue
- Closed
Kalau workflow ticket belum solid, dashboard secanggih apa pun tetap cuma jadi layar kosong yang cantik.
Data dulu, dashboard kemudian.
10. MVP Rollout
Jangan langsung build everything.
Start small.
Phase 1
- WhatsApp intake
- create ticket
- manual assignment
- resident confirmation
- basic manager table
- proof photo upload
Phase 2
- technician mobile page
- SLA reminder
- category routing
- daily manager digest
- duplicate detection
Phase 3
- recurring issue analytics
- vendor workflow
- resident satisfaction check
- monthly PDF report
- multi-building support
Show diagram source
gantt
title Apartment Maintenance MVP Rollout
dateFormat YYYY-MM-DD
section Phase 1
Intake and tickets :a1, 2026-05-12, 5d
Manager assignment :a2, after a1, 5d
Resident updates :a3, after a2, 3d
section Phase 2
Technician workflow :b1, after a3, 7d
SLA reminders :b2, after b1, 4d
section Phase 3
Reports and portfolio :c1, after b2, 10dDengan pendekatan ini, kamu bisa validasi workflow sebelum overinvest di feature yang belum tentu dipakai.
11. Hosting di SUMOPOD
Sistem seperti ini butuh server kecil yang always on.
Stack yang biasanya jalan:
- OpenClaw gateway
- WhatsApp connector
- backend API
- database client
- object storage integration
- dashboard frontend
- scheduled reminder worker
VPS cocok untuk MVP dan small-to-medium building.
Kalau mau coba deploy stack begini, pakai SUMOPOD affiliate link:
https://blog.fanani.co/sumopod
Yang penting bukan cuma spek tinggi.
Yang penting uptime, backup, logs, dan deployment routine yang jelas.
12. Productization untuk Client
Use case ini enak dijadikan service package.
Starter package
- WhatsApp intake
- ticket database
- manual assignment
- basic dashboard
Operations package
- technician workflow
- SLA reminders
- proof photo
- daily digest
Portfolio package
- multi-building support
- monthly report
- recurring issue analytics
- vendor routing
- role-based dashboards
Discovery questions yang harus ditanya:
- berapa unit?
- berapa request per hari?
- channel report sekarang apa?
- siapa yang assign teknisi?
- kategori emergency apa saja?
- butuh photo proof atau tanda tangan?
- report bulanan seperti apa yang diminta management?
Jawaban ini lebih menentukan desain daripada framework apa yang dipakai.
13. Intake Resident: Jangan Paksa Orang Isi Form Ribet
Resident itu bukan admin. Mereka tidak mau mikir category, priority, SLA, atau ticket type. Mereka cuma mau lapor masalah dan dapat update.
Makanya interface paling masuk akal tetap WhatsApp.
Contoh message resident:
Pak, AC kamar utama bocor. Air netes ke lantai. Unit 12B. Bisa dicek hari ini?
Dari message messy seperti itu, OpenClaw bisa bantu extract:
Kalau data kurang, bot jangan sok tahu. Tanya balik saja:
Terima kasih. Untuk laporan AC bocor, boleh kirim foto kondisi saat ini dan confirm nomor unit?
Simple. Human. Tidak bikin resident sebel.
14. Routing Teknisi: Mulai Simple Dulu
Jangan langsung bikin workforce optimization macam enterprise software. MVP cukup routing yang jelas.
- Plumbing ke maintenance team
- Electrical ke teknisi listrik
- AC ke HVAC technician atau vendor
- Lift ke vendor lift
- Access card ke security atau admin building
- Leak besar escalate ke supervisor
Contoh rule:
Targetnya bukan perfect. Targetnya ticket tidak nyasar dan tidak hilang di chat group.
Nanti kalau sudah mature, baru tambah shift schedule, workload balancing, vendor SLA, dan skill tags.
15. SLA yang Jujur
SLA jangan halu. Kalau building cuma punya satu teknisi, jangan janji semua response 10 menit. Nanti sistemnya terlihat gagal padahal planning-nya yang ngawur.
SLA yang masuk akal:
Bedakan first response dan resolution. “Sudah diterima” bukan berarti “sudah selesai.” Ini sering banget rancu di operasi.
OpenClaw bisa kirim reminder:
- Ticket created
- Technician assigned
- First response due soon
- SLA breached
- Resident update needed
- Waiting resident confirmation
- Ticket closed
Dengan begitu, team tidak harus buka dashboard terus.
16. Bukti Foto dan Closure yang Rapi
Maintenance tanpa foto itu rawan drama.
Minimal setiap ticket punya:
- Before photo kalau ada
- Technician note
- Parts used
- After photo
- Closure status
- Resident confirmation kalau perlu
Closure message jangan cuma “done.” Buat yang jelas:
Update Ticket MT-2405-018
Issue: AC leak Unit 12B
Status: Completed
Technician note: Drain line cleaned and water test completed.
Please reply OK if resolved, or REOPEN if the issue continues.
Ini bikin resident merasa diurus. Team juga punya record kalau nanti ada dispute.
17. Vendor dan Spare Part
Tidak semua issue bisa ditangani internal. Lift, fire alarm, access control, pump, atau major AC sering butuh vendor.
Workflow tetap bisa ditrack:
- Ticket dibuat
- Classified as vendor-required
- Vendor notified
- Response tracked
- Quotation atau service report disimpan
- Building team di-remind kalau vendor telat
- Resident dapat update yang realistis
Untuk spare part, jangan bikin ERP dulu. Cukup field basic:
Yang penting tidak ada ticket yang stuck gara-gara “nunggu spare part” tapi tidak tercatat.
18. Monthly Review yang Useful
Begitu data rapi, management dapat insight.
Metrics yang worth tracking:
- Ticket count by category
- Average first response
- Average resolution
- SLA breach
- Repeat issue by unit
- Repeat issue by asset
- Technician workload
- Vendor delay
- Reopened tickets
- Most common complaint
Contoh summary:
Apartment Maintenance Monthly Review
Total tickets: 184
Top category: Plumbing, 42 tickets
Average first response: 22 minutes
Average resolution: 1.4 days
SLA breaches: 9
Repeat unit issue: Unit 18C bathroom leak repeated 3 times
Vendor delay: Lift vendor, 2 late responses
Recommendation: inspect vertical plumbing line for Tower B floors 16-20
Ini baru menarik. Apartment team tidak cuma firefighting, tapi mulai bisa melihat pattern.
19. Final Field Notes
Apartment maintenance system yang bagus bukan yang fiturnya paling banyak. Yang bagus adalah yang membuat complaint tidak hilang, technician tahu harus ngapain, resident dapat update, dan manager punya visibility.
Kalau kamu mulai dari WhatsApp intake, ticket routing, SLA reminder, photo evidence, dan monthly review, itu sudah cukup kuat untuk MVP. Jangan langsung maksa resident download app baru. Adoption akan lebih bagus kalau workflow masuk ke habit yang sudah ada.
Setelah usage stabil, baru tambah dashboard advanced, vendor portal, stock spare part, dan predictive maintenance. Pelan-pelan, tapi solid.
Final Take
OpenClaw cocok untuk apartment maintenance karena dia mengubah chat yang scattered jadi workflow yang terstruktur.
Resident tetap pakai WhatsApp.
Teknisi tetap dapat flow yang ringan.
Manager dapat dashboard.
Database menyimpan truth.
Dan OpenClaw menjaga prosesnya tetap jalan dengan reminder, routing, status update, dan report.
Kalau kamu mau versi teknis full English, baca GitHub tutorial:
Kalau butuh VPS buat jalanin stack ini, pakai affiliate link:
https://blog.fanani.co/sumopod
Dan kalau mau custom system untuk apartment, building, atau property portfolio, kontak:
- fanani@cvrfm.com
- +628115443456
Consultation available.
Related Links
- Technical GitHub tutorial: https://github.com/fanani-radian/openclaw-sumopod/blob/main/tutorials/openclaw-apartment-maintenance.md
- OpenClaw Sumopod repo: https://github.com/fanani-radian/openclaw-sumopod
- SUMOPOD VPS affiliate: https://blog.fanani.co/sumopod
Ada Pertanyaan? Yuk Ngobrol!
Butuh bantuan setup OpenClaw, konsultasi IT, atau mau diskusi project engineering? Book a call langsung — gratis.
Book a Call — Gratisvia Cal.com • WITA (UTC+8)
📬 Subscribe Newsletter
FreeDapat alert setiap ada artikel baru langsung ke inbox kamu. Free, no spam. 🚀
👥 Join 0+ engineers & tech enthusiasts
Zainul Fanani
Founder, Radian Group. Engineering & tech enthusiast.

💬 Komentar