Skip to content

Durasi: 30 menit | Block: 2


🅰️ Project A: Admin Order UMKM ⭐⭐

Scenario

Kamu punya bisnis online. Customer inquiry masuk dari berbagai channel. Semua harus tertata.

Flow

[Webhook: Order Form]
    → [Set Node: Format Order]
    → [Google Sheets: Append Row]
    → [If: Amount > 500K]
        ├── TRUE → [WhatsApp: Priority Notif ke owner]
        └── FALSE → [Email: Standard notification]

Test Payload

json
{
  "nama": "Budi Santoso",
  "telepon": "081234567890",
  "produk": "Kopi Arabica 1kg",
  "jumlah": 2,
  "harga_satuan": 350000,
  "alamat": "Jl. Merdeka 10, Jakarta"
}

Minimum Deliverables

  • [ ] Webhook terima data
  • [ ] Sheets log terisi
  • [ ] Priority notif untuk order besar
  • [ ] Basic error handling

🅱️ Project B: Social Media Auto-Post ⭐⭐⭐

Scenario

Bisnis kamu butuh konten rutin di social media. Bikin scheduler yang auto-post.

Flow

[Schedule: Daily 8 AM]
    → [Google Sheets: Read content calendar]
    → [Code Node: Filter today's content]
    → [AI Node: Generate caption if empty]
    → [If: Platform]
        ├── "instagram" → [HTTP: Post to IG via API]
        ├── "twitter"   → [HTTP: Post to X/Twitter]
        └── (fallback)  → [Email: Manual post reminder]

Sheets Structure

DatePlatformContent TypeImage URLCaptionStatus
30/05instagramproducturl...(auto)pending

Minimum Deliverables

  • [ ] Schedule trigger jalan
  • [ ] Read dari Sheets
  • [ ] Caption generation (AI atau template)
  • [ ] Platform routing

🅲️ Project C: CRM + Lead Router ⭐⭐⭐

Scenario

leads masuk dari berbagai sumber. Klasifikasi dan route ke sales pipeline.

Flow

[Webhook: Lead Form]
    → [Code Node: Normalize + Score Lead]
    → [Switch: Lead Score]
        ├── "hot" (>80)   → [Slack: #hot-leads] + [Sheets: Priority CRM]
        ├── "warm" (40-80) → [Sheets: Nurture Queue] + [Email: Welcome]
        └── "cold" (<40)   → [Sheets: General List] + [Email: Drip Campaign Day 1]

Lead Scoring Logic (Code Node)

javascript
const lead = $input.item.json;
let score = 0;

// Source scoring
if (lead.source === 'referral') score += 40;
else if (lead.source === 'ads') score += 20;
else score += 10;

// Engagement scoring
if (lead.pages_viewed > 5) score += 20;
if (lead.time_on_site > 180) score += 15;

// Company size
if (lead.company_size === 'enterprise') score += 25;
else if (lead.company_size === 'smb') score += 15;

const tier = score > 80 ? 'hot' : score > 40 ? 'warm' : 'cold';

return { json: { ...lead, score, tier } };

Minimum Deliverables

  • [ ] Lead scoring algorithm
  • [ ] 3-tier routing
  • [ ] CRM logging (Sheets)
  • [ ] Appropriate notification per tier

🅳️ Project D: Data Report Otomatis ⭐⭐⭐⭐

Scenario

Setiap hari, generate report dari data tersebar di beberapa sheets/API.

Flow

[Schedule: Daily 9 AM]
    → [Google Sheets: Read orders data]
    → [Google Sheets: Read inventory data]
    → [Merge: Combine by product SKU]
    → [Code Node: Calculate metrics]
    → [Code Node: Format HTML report]
    → [Email: Send formatted report]
    → [Sheets: Log report sent]

Report Metrics (Code Node)

javascript
const orders = $input.first().json.orders;
const inventory = $input.first().json.inventory;

const metrics = {
  date: new Date().toLocaleDateString('id-ID'),
  total_orders: orders.length,
  total_revenue: orders.reduce((s, o) => s + o.amount, 0),
  top_products: /* ... */,
  low_stock_alerts: inventory.filter(i => i.stock < 10),
  avg_order_value: /* ... */
};

Minimum Deliverables

  • [ ] Multi-source data pull
  • [ ] Merge + transform data
  • [ ] Formatted report (HTML email)
  • [ ] Error handling (empty data, API fail)
  • [ ] Logging

🎯 General Build Tips

  1. Start simple — bikin flow dasar dulu, baru tambah complexity
  2. Test per node — jangan build semua baru test di akhir
  3. Use placeholder data — kalau API belum ada, pakai Set Node sebagai mock
  4. Save sering — n8n auto-save tapi jangan risiko kehilangan

Bootcamp AI Automation — akala.id