{
  "ok": true,
  "name": "AutoChat Demo",
  "run_mode": "all",
  "tenants": {
    "count": 353,
    "ids": [
      "default",
      "ssprov_dup_mop2m2br",
      "ssprov_dup_mop2m63i",
      "ssprov_dup_mop2n5fy",
      "ssprov_dup_mop39z1j",
      "ssprov_dup_mop3ci95",
      "ssprov_dup_mop3d0zg",
      "ssprov_dup_mop3d2oz",
      "ssprov_dup_mop3h9n0",
      "ssprov_dup_mop3ho30",
      "ssprov_dup_mop40qhf",
      "ssprov_dup_mop464mz",
      "ssprov_dup_mop4ex14",
      "ssprov_dup_mop4kq1f",
      "ssprov_dup_mop4rib5",
      "ssprov_dup_mop5eta7",
      "ssprov_dup_mop5oqsr",
      "ssprov_dup_mop5v3na",
      "ssprov_dup_mop5yh1e",
      "ssprov_dup_mop60bgw",
      "ssprov_dup_mop6eiui",
      "ssprov_dup_mop7z9db",
      "ssprov_dup_mop874gm",
      "ssprov_dup_mopbh2br",
      "ssprov_dup_mopbhket",
      "ssprov_dup_mopbm547",
      "ssprov_dup_mopbmqga",
      "ssprov_dup_mopbnttd",
      "ssprov_dup_mopbrsl7",
      "ssprov_dup_mopbs6e1",
      "ssprov_dup_mopbt16s",
      "ssprov_dup_mopbt7br",
      "ssprov_dup_mopbv2g6",
      "ssprov_dup_mopbxe9w",
      "ssprov_dup_mopbzijq",
      "ssprov_dup_mopc04el",
      "ssprov_dup_mopc1300",
      "ssprov_dup_mopc57u1",
      "ssprov_dup_mopc60j8",
      "ssprov_dup_mopc7cbx",
      "ssprov_dup_mopc82wi",
      "ssprov_dup_mopc9l98",
      "ssprov_dup_mopc9qig",
      "ssprov_dup_mopcasbk",
      "ssprov_dup_mopce9io",
      "ssprov_dup_mopchf33",
      "ssprov_dup_mopchvyf",
      "ssprov_dup_mopclvdn",
      "ssprov_dup_mopcmj8x",
      "ssprov_dup_mopcnsbz",
      "ssprov_dup_mopcrard",
      "ssprov_dup_mopcrhff",
      "ssprov_dup_mopcuksm",
      "ssprov_dup_mopcvijd",
      "ssprov_dup_mopcxhi2",
      "ssprov_dup_mopcza9p",
      "ssprov_dup_mopddliv",
      "ssprov_dup_mopfnwml",
      "ssprov_dup_mopfqafg",
      "ssprov_dup_mopfrtfx",
      "ssprov_dup_mopfs7dk",
      "ssprov_dup_mopfvq7x",
      "ssprov_dup_mopfwgab",
      "ssprov_dup_mopfxdde",
      "ssprov_dup_mopfz0z3",
      "ssprov_dup_mopfzl5j",
      "ssprov_dup_mopg0jh0",
      "ssprov_dup_mopg1425",
      "ssprov_dup_mopg2cnl",
      "ssprov_dup_mopg313x",
      "ssprov_dup_mopg57a4",
      "ssprov_dup_mopg755l",
      "ssprov_dup_mopg7r28",
      "ssprov_dup_mopg8d6c",
      "ssprov_dup_mopgbo8r",
      "ssprov_dup_mopgcl3i",
      "ssprov_dup_mopgetnp",
      "ssprov_dup_mopgh4ew",
      "ssprov_dup_mopgiph0",
      "ssprov_dup_mopgjruq",
      "ssprov_dup_mopgm4p3",
      "ssprov_dup_mopgo3d6",
      "ssprov_dup_mopgpg4n",
      "ssprov_dup_mopgskck",
      "ssprov_dup_mopgtvr2",
      "ssprov_dup_mopgue99",
      "ssprov_dup_mopgvhvl",
      "ssprov_dup_mopgw3sk",
      "ssprov_dup_mopgycsh",
      "ssprov_dup_mopgzyef",
      "ssprov_dup_moph0zd4",
      "ssprov_dup_moph2dbo",
      "ssprov_dup_moph4j6d",
      "ssprov_dup_moph6rvx",
      "ssprov_dup_mophpchj",
      "ssprov_dup_mophs8s7",
      "ssprov_dup_mophsn26",
      "ssprov_dup_mopi0r7e",
      "ssprov_dup_mopi25kd",
      "ssprov_dup_mopi3frf",
      "ssprov_dup_mopi5vlo",
      "ssprov_dup_mopi7tyw",
      "ssprov_dup_mopi90rn",
      "ssprov_dup_mopibx1r",
      "ssprov_dup_mopic7w5",
      "ssprov_dup_mopidbgx",
      "ssprov_dup_mopihl1e",
      "ssprov_dup_mopijowa",
      "ssprov_dup_mopiqoxk",
      "ssprov_dup_mopisgip",
      "ssprov_dup_mopivy4i",
      "ssprov_dup_mopj077x",
      "ssprov_dup_mopj25h9",
      "ssprov_dup_mopj5j73",
      "ssprov_dup_mopj7hel",
      "ssprov_dup_mopjaxwa",
      "ssprov_dup_mopjdw0r",
      "ssprov_dup_mopjgqus",
      "ssprov_dup_mopjl7fe",
      "ssprov_dup_mopjpdyf",
      "ssprov_dup_mopjt7t4",
      "ssprov_dup_mopk033x",
      "ssprov_dup_mopk1sbh",
      "ssprov_dup_mopk2f4h",
      "ssprov_dup_mopk6it7",
      "ssprov_dup_mopk7529",
      "ssprov_dup_mopka3hn",
      "ssprov_dup_mopkbh96",
      "ssprov_dup_mopkexh1",
      "ssprov_dup_mopkfzdc",
      "ssprov_dup_mopkgjad",
      "ssprov_dup_mopkh86g",
      "ssprov_dup_mopkidcq",
      "ssprov_dup_mopkl97p",
      "ssprov_dup_mopkm38x",
      "ssprov_dup_mopknfbk",
      "ssprov_dup_mopkp15n",
      "ssprov_dup_mopkpxl0",
      "ssprov_dup_mopkrdr3",
      "ssprov_dup_mopktixv",
      "ssprov_dup_mopku7nk",
      "ssprov_dup_mopkv420",
      "ssprov_dup_mopkz882",
      "ssprov_dup_mopl1aaw",
      "ssprov_dup_mopl3w4b",
      "ssprov_dup_mopl6brd",
      "ssprov_dup_mopl7mut",
      "ssprov_dup_moplww5z",
      "ssprov_dup_moplys2l",
      "ssprov_dup_mopm03ia",
      "ssprov_dup_mopnntmw",
      "ssprov_dup_mopnqxrv",
      "ssprov_dup_mopp131j",
      "ssprov_dup_mopp3juc",
      "ssprov_dup_mopp8qqc",
      "ssprov_dup_moppaslv",
      "ssprov_dup_moppdy26",
      "ssprov_dup_moppf2vd",
      "ssprov_dup_moppfmny",
      "ssprov_dup_mopppxxo",
      "ssprov_dup_moppsrfl",
      "ssprov_dup_mopr1p29",
      "ssprov_dup_moprwd18",
      "ssprov_dup_mops3yxq",
      "ssprov_dup_mops5pmu",
      "ssprov_dup_mops6r66",
      "ssprov_dup_mops7v7n",
      "ssprov_dup_mopsa5ap",
      "ssprov_dup_mopsbgeh",
      "ssprov_dup_mopscicr",
      "ssprov_dup_mopsfb0n",
      "ssprov_dup_mopsgki9",
      "ssprov_dup_mopshv3t",
      "ssprov_dup_mopsjgzi",
      "ssprov_dup_mopskn0x",
      "ssprov_dup_mopslr65",
      "ssprov_dup_mrap99ii",
      "ssprov_mop2m2bm",
      "ssprov_mop2m63f",
      "ssprov_mop2n5fu",
      "ssprov_mop39z1g",
      "ssprov_mop3ci91",
      "ssprov_mop3d0zb",
      "ssprov_mop3d2oa",
      "ssprov_mop3h9mx",
      "ssprov_mop3ho2x",
      "ssprov_mop40qhb",
      "ssprov_mop464mv",
      "ssprov_mop4ex12",
      "ssprov_mop4kq1b",
      "ssprov_mop4rib0",
      "ssprov_mop5eta4",
      "ssprov_mop5oqsn",
      "ssprov_mop5v3n2",
      "ssprov_mop5yh1b",
      "ssprov_mop60bgs",
      "ssprov_mop6eiuf",
      "ssprov_mop7z9d3",
      "ssprov_mop874gh",
      "ssprov_mopbh2bo",
      "ssprov_mopbhkep",
      "ssprov_mopbm541",
      "ssprov_mopbmqg5",
      "ssprov_mopbntta",
      "ssprov_mopbrsl4",
      "ssprov_mopbs6dy",
      "ssprov_mopbt16p",
      "ssprov_mopbt7bn",
      "ssprov_mopbv2g1",
      "ssprov_mopbxe9n",
      "ssprov_mopbzijm",
      "ssprov_mopc04eh",
      "ssprov_mopc12zw",
      "ssprov_mopc57tw",
      "ssprov_mopc60ix",
      "ssprov_mopc7cbt",
      "ssprov_mopc82w7",
      "ssprov_mopc9l8z",
      "ssprov_mopc9qie",
      "ssprov_mopcasbf",
      "ssprov_mopce9ik",
      "ssprov_mopchf30",
      "ssprov_mopchvya",
      "ssprov_mopclvdi",
      "ssprov_mopcmj8s",
      "ssprov_mopcnsbw",
      "ssprov_mopcrara",
      "ssprov_mopcrhfb",
      "ssprov_mopcuksh",
      "ssprov_mopcviiu",
      "ssprov_mopcxhhs",
      "ssprov_mopcza9k",
      "ssprov_mopddlip",
      "ssprov_mopfnwmi",
      "ssprov_mopfqaf6",
      "ssprov_mopfrtfs",
      "ssprov_mopfs7dh",
      "ssprov_mopfvq74",
      "ssprov_mopfwga6",
      "ssprov_mopfxdd2",
      "ssprov_mopfz0yy",
      "ssprov_mopfzl5f",
      "ssprov_mopg0jgs",
      "ssprov_mopg1421",
      "ssprov_mopg2cng",
      "ssprov_mopg313p",
      "ssprov_mopg57a0",
      "ssprov_mopg755h",
      "ssprov_mopg7r24",
      "ssprov_mopg8d68",
      "ssprov_mopgbo8n",
      "ssprov_mopgcl3e",
      "ssprov_mopgetnk",
      "ssprov_mopgh4es",
      "ssprov_mopgipgs",
      "ssprov_mopgjrul",
      "ssprov_mopgm4oz",
      "ssprov_mopgo3d2",
      "ssprov_mopgpg4i",
      "ssprov_mopgskch",
      "ssprov_mopgtvqw",
      "ssprov_mopgue92",
      "ssprov_mopgvhvc",
      "ssprov_mopgw3sf",
      "ssprov_mopgycsd",
      "ssprov_mopgzyec",
      "ssprov_moph0zd0",
      "ssprov_moph2dbj",
      "ssprov_moph4j68",
      "ssprov_moph6rvu",
      "ssprov_mophpche",
      "ssprov_mophs8s1",
      "ssprov_mophsn20",
      "ssprov_mopi0r7b",
      "ssprov_mopi25ka",
      "ssprov_mopi3frb",
      "ssprov_mopi5vlk",
      "ssprov_mopi7tyt",
      "ssprov_mopi90rk",
      "ssprov_mopibx1p",
      "ssprov_mopic7w1",
      "ssprov_mopidbgs",
      "ssprov_mopihl1a",
      "ssprov_mopijovt",
      "ssprov_mopiqoxh",
      "ssprov_mopisgik",
      "ssprov_mopivy4d",
      "ssprov_mopj077t",
      "ssprov_mopj25h3",
      "ssprov_mopj5j6y",
      "ssprov_mopj7heh",
      "ssprov_mopjaxvv",
      "ssprov_mopjdw0n",
      "ssprov_mopjgquo",
      "ssprov_mopjl7f9",
      "ssprov_mopjpdy6",
      "ssprov_mopjt7sz",
      "ssprov_mopk033t",
      "ssprov_mopk1sbb",
      "ssprov_mopk2f4e",
      "ssprov_mopk6it1",
      "ssprov_mopk7520",
      "ssprov_mopka3hi",
      "ssprov_mopkbh92",
      "ssprov_mopkexgx",
      "ssprov_mopkfzcn",
      "ssprov_mopkgja6",
      "ssprov_mopkh86b",
      "ssprov_mopkidcn",
      "ssprov_mopkl97l",
      "ssprov_mopkm38u",
      "ssprov_mopknfbb",
      "ssprov_mopkp15j",
      "ssprov_mopkpxkv",
      "ssprov_mopkrdqz",
      "ssprov_mopktixl",
      "ssprov_mopku7nb",
      "ssprov_mopkv41x",
      "ssprov_mopkz87x",
      "ssprov_mopl1aas",
      "ssprov_mopl3w47",
      "ssprov_mopl6bra",
      "ssprov_mopl7muo",
      "ssprov_moplww5v",
      "ssprov_moplys2g",
      "ssprov_mopm03i5",
      "ssprov_mopnntmq",
      "ssprov_mopnqxro",
      "ssprov_mopp131e",
      "ssprov_mopp3ju7",
      "ssprov_mopp8qq9",
      "ssprov_moppaslt",
      "ssprov_moppdy23",
      "ssprov_moppf2v9",
      "ssprov_moppfmnt",
      "ssprov_mopppxxj",
      "ssprov_moppsrf8",
      "ssprov_mopr1p20",
      "ssprov_moprwd12",
      "ssprov_mops3yxk",
      "ssprov_mops5pmg",
      "ssprov_mops6r60",
      "ssprov_mops7v7k",
      "ssprov_mopsa5aj",
      "ssprov_mopsbged",
      "ssprov_mopscicn",
      "ssprov_mopsfb0i",
      "ssprov_mopsgkhz",
      "ssprov_mopshv3o",
      "ssprov_mopsjgze",
      "ssprov_mopskn0t",
      "ssprov_mopslr60",
      "ssprov_mrap99ie"
    ]
  },
  "global_preset": "beauty",
  "pipeline_variant": "default",
  "channels": {
    "telegram": true,
    "whatsapp": true,
    "whatsapp_mark_read": true,
    "whatsapp_typing_indicator": true,
    "line": false,
    "wechat": false,
    "messenger": false,
    "instagram": false,
    "threads": false,
    "tiktok": false
  },
  "storage": "local_jsonl",
  "whatsapp_webhook_path": "/webhook/whatsapp",
  "line_webhook_path": "/webhook/line",
  "wechat_webhook_path": "/webhook/wechat",
  "messenger_webhook_path": "/webhook/messenger",
  "instagram_webhook_path": "/webhook/instagram",
  "threads_webhook_path": "/webhook/threads",
  "tiktok_webhook_path": "/webhook/tiktok",
  "sms_twilio_webhook_path": "/webhook/sms/twilio",
  "sms_twilio_auth_configured": false,
  "email_inbound_webhook_path": "/webhook/email/inbound",
  "email_webhook_secret_configured": false,
  "itsm_inbox_webhook_path": "/webhook/itsm/inbox-thread-patch",
  "itsm_inbox_webhook_secret_configured": false,
  "inbox_thread_patch_outbox_audit_active": false,
  "inbox_thread_state_pg_active": false,
  "inbox_thread_state_dual_read_active": false,
  "sms_twilio_rest_outbound_ready": false,
  "email_smtp_outbound_ready": false,
  "inbox_ws_path": "/api/inbox/ws",
  "kb_pdf_upload_modes": [
    "json_base64",
    "multipart_file",
    "application_pdf_raw"
  ],
  "tenant_admin_rbac_pilot_configured": false,
  "tenant_isolation_sku": null,
  "kb_pgvector_search_env": false,
  "uptime_seconds": 637,
  "openai_model": "openrouter/free",
  "ai_provider": {
    "mode": "official",
    "mode_label_zh": "OpenAI 官方",
    "model": "openrouter/free",
    "base_preview": "openrouter.ai"
  },
  "openai": {
    "timeout_ms": 120000,
    "max_retries": 2,
    "max_tokens": 2048
  },
  "guards": {
    "rate_limit_pipeline_per_min": 30,
    "pipeline_max_concurrent": 16
  },
  "reminders": {
    "enabled": false,
    "hours_before": 24,
    "poll_ms": 60000,
    "pending_count": 0
  },
  "sheets_append_max_retries": 3,
  "http": {
    "trust_proxy": true,
    "whatsapp_webhook_ip_allowlist_rules": 0,
    "whatsapp_webhook_rate_per_min": 240
  },
  "openai_json_repair": true,
  "redis_configured": true,
  "wa_queue_inbound_len": 0,
  "wa_queue_dlq_len": 0,
  "sms_queue_inbound_len": 0,
  "sms_queue_dlq_len": 0,
  "sms_queue_inbound_mode": "redis_list",
  "sms_queue_stream_autoclaim_idle_ms": 0,
  "sms_queue_stream_pending": null,
  "email_queue_inbound_len": 0,
  "email_queue_dlq_len": 0,
  "email_queue_inbound_mode": "redis_list",
  "email_queue_stream_autoclaim_idle_ms": 0,
  "email_queue_stream_pending": null,
  "line_queue_inbound_len": 0,
  "line_queue_dlq_len": 0,
  "line_queue_inbound_mode": "redis_list",
  "line_queue_stream_autoclaim_idle_ms": 0,
  "line_queue_stream_pending": null,
  "telegram_queue_inbound_len": 0,
  "telegram_queue_dlq_len": 0,
  "telegram_queue_inbound_mode": "redis_list",
  "telegram_queue_stream_autoclaim_idle_ms": 0,
  "telegram_queue_stream_pending": null,
  "meta_queue_inbound_len": 0,
  "meta_queue_dlq_len": 0,
  "meta_queue_inbound_mode": "redis_list",
  "meta_queue_stream_autoclaim_idle_ms": 0,
  "meta_queue_stream_pending": null,
  "threads_queue_inbound_len": 0,
  "threads_queue_dlq_len": 0,
  "threads_queue_inbound_mode": "redis_list",
  "threads_queue_stream_autoclaim_idle_ms": 0,
  "threads_queue_stream_pending": null,
  "wechat_queue_inbound_len": 0,
  "wechat_queue_dlq_len": 0,
  "wechat_queue_inbound_mode": "redis_list",
  "wechat_queue_stream_autoclaim_idle_ms": 0,
  "wechat_queue_stream_pending": null,
  "tiktok_queue_inbound_len": 0,
  "tiktok_queue_dlq_len": 0,
  "tiktok_queue_inbound_mode": "redis_list",
  "tiktok_queue_stream_autoclaim_idle_ms": 0,
  "tiktok_queue_stream_pending": null,
  "wa_queue_inbound_mode": "redis_list",
  "wa_queue_stream_autoclaim_idle_ms": 0,
  "wa_queue_stream_pending": null,
  "calendar_configured": false,
  "pickup_resilience": {
    "merchant_failure_message_configured": false,
    "ops_alert_webhook_configured": false,
    "crm_events_webhook_configured": true,
    "crm_events_extra_webhooks": 0,
    "crm_hubspot_token_configured": false,
    "crm_salesforce_token_configured": false,
    "crm_zoho_token_configured": false,
    "oidc_login_configured": false,
    "saml_login_configured": false,
    "saml_production_hardening": true,
    "saml_decryption_configured": false,
    "servicenow_rest_configured": false,
    "servicenow_listing_hardening": true,
    "weekly_digest_configured": false,
    "shopify_native_tool_configured": false,
    "wa_broadcast_enabled": true,
    "wa_broadcast_on_app": true
  },
  "metrics": {
    "version": "1.0.0",
    "pipeline": {
      "started": 2,
      "success": 2,
      "error": 0,
      "variant": "default",
      "by_variant": {
        "default": {
          "started": 2,
          "success": 2,
          "error": 0
        }
      },
      "rate_limited": 0,
      "ai_reply_fingerprints": 0,
      "fail": 0,
      "p50_ms": 4830,
      "p95_ms": 4830
    },
    "openai_roundtrip_ms": {
      "avg": 7370,
      "max": 9912,
      "p50": 4828,
      "p95": 4828,
      "samples": 2
    },
    "reminders": {
      "sent": 0,
      "send_failed": 0,
      "skipped_stale": 0
    },
    "openai_json_repairs": 0,
    "openai_model_fallback_used": 0,
    "llm_chat_completions": {
      "official": 2,
      "compatible": 0,
      "ollama": 0
    },
    "whatsapp_webhook": {
      "ip_rejected": 0,
      "rate_limited": 0,
      "idempotent_replays": 0
    },
    "crm_events_webhook": {
      "posted": 0,
      "failed": 0,
      "throttled": 0
    },
    "lead_inbox_intel": {
      "persisted_updates": 2,
      "copilot_updates": 2,
      "assignee_changes": 0
    },
    "shopify_tool_native": {
      "ok": 0,
      "fail": 0
    },
    "ai_tool_calls": {
      "ok": 0,
      "fail": 0,
      "skipped": 0,
      "dry_run": 0,
      "recent_sample": [],
      "by_tool": {},
      "rate_limited": 0,
      "args_invalid": 0,
      "webhook_schema_rejected": 0,
      "webhook_url_policy_rejected": 0,
      "webhook_redirect_blocked": 0,
      "webhook_response_too_large": 0,
      "webhook_http_retry_known_transient": 0,
      "webhook_http_retry_unknown_5xx": 0,
      "webhook_transport_retry": 0,
      "webhook_circuit_open_blocked": 0,
      "webhook_network_error_by_class": {},
      "subprocess": {
        "ok": 0,
        "fail": 0,
        "timeout": 0,
        "response_too_large": 0,
        "config_rejected": 0
      },
      "duration_ms": {
        "avg": 0,
        "max": 0,
        "p50": 0,
        "p95": 0,
        "samples": 0
      }
    },
    "tiktok": {
      "webhook_ignored": 0,
      "blueprint_routed": 0,
      "send_ok": 0,
      "send_fail": 0
    },
    "wa_broadcast": {
      "sent": 0,
      "failed": 0,
      "enqueue_rejected": 0
    },
    "wa_queue": {
      "dlq_pushed_total": 0,
      "stream_pending_last": 0
    },
    "line_queue": {
      "stream_pending_last": 0
    },
    "inbound_queue_stream_pending_by_channel": {},
    "global_outbox_worker": {
      "rows_claimed_total": 0,
      "rows_completed_total": 0,
      "rows_retry_scheduled_total": 0,
      "rows_marked_dead_total": 0,
      "rows_unhandled_error_total": 0
    },
    "servicenow_rest": {
      "table_fetch_ok_total": 0,
      "table_fetch_fail_total": 0,
      "table_validation_rejected_total": 0,
      "rate_limited_total": 0
    }
  },
  "tools": {
    "calling_enabled": false,
    "tool_listing_hardening": true,
    "tool_contract_version": "1",
    "webhook_dry_run": false,
    "webhook_staging_mode": false,
    "webhook_staging_url_configured": false,
    "webhook_mtls_ready": false,
    "webhook_https_only_effective": true,
    "webhook_block_private_egress_effective": true,
    "tool_otel_env_enabled": false,
    "app_otel_env_enabled": false,
    "tool_otel_exporter_registered": false,
    "subprocess_enabled": false,
    "subprocess_allowlist_prefix_set": false,
    "subprocess_trusted_executor_set": false,
    "tenant_tool_rbac_configured": false,
    "audit_tool_events_include_tenant_id": true
  },
  "crm_connectors": {
    "events_webhook_primary": true,
    "events_webhook_extra_count": 0,
    "hubspot_oauth_client_configured": false,
    "salesforce_oauth_client_configured": false,
    "zoho_oauth_client_configured": false,
    "cards": [
      {
        "id": "hubspot",
        "label_zh": "HubSpot",
        "uplink": "events_webhook",
        "status_zh": "已設出站 webhook（可經 Make 寫 HubSpot）",
        "detail_zh": "將 Make／Zapier Scenario 指向 CRM_EVENTS_WEBHOOK_URL，再接到 HubSpot；或喺控制台③貼 Private App Token；亦可設 OAuth client 後用<strong>一鍵授權</strong>。",
        "doc_url": "https://developers.hubspot.com/docs/api/working-with-oauth",
        "setup_href": "/#section-crm-outbound"
      },
      {
        "id": "salesforce",
        "label_zh": "Salesforce",
        "uplink": "events_webhook",
        "status_zh": "出站 JSON 已啟用（建議接 Make／n8n → REST）",
        "detail_zh": "AutoChat 會 POST 統一 CRM 事件 JSON；或設 Connected App 後用本頁 OAuth。",
        "doc_url": "https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm",
        "setup_href": "/#section-crm-outbound"
      },
      {
        "id": "zoho",
        "label_zh": "Zoho（Flow／CRM）",
        "uplink": "events_webhook",
        "status_zh": "可用主 URL 或 EXTRA 分流到 Zoho Flow",
        "detail_zh": "建議 CRM_EVENTS_WEBHOOK_URLS_EXTRA 其中一條貼 Zoho Flow；或設 <code>ZOHO_OAUTH_*</code> 後一鍵授權 CRM。",
        "doc_url": "https://www.zoho.com/crm/developer/docs/api/v2/oauth-overview.html",
        "setup_href": "/#section-crm-outbound"
      }
    ]
  },
  "dependencies": {
    "postgres": "ok",
    "redis": "ok",
    "app": "ok",
    "worker": "ok",
    "web_admin_token": "fail"
  },
  "openai_key_configured": true,
  "telegram_configured": true,
  "whatsapp_configured": true,
  "whatsapp_mark_read": true,
  "whatsapp_typing_indicator": true,
  "line_configured": false,
  "wechat_configured": false,
  "messenger_configured": false,
  "threads_configured": false,
  "tiktok_webhook_configured": false,
  "shopify_native_tool_configured": false,
  "wa_broadcast_enabled": true,
  "wa_broadcast_on_app": true,
  "sheets_configured": false
}