{
  "integrations": [
    {
      "id": "llm",
      "name": "LLM do agente gestor",
      "purpose": "Conversar, raciocinar, gerar informacoes, roteiros e decisoes assistidas.",
      "configured": true,
      "required_any": [
        {
          "key": "OPENROUTER_API_KEY",
          "configured": true,
          "masked": "sk-...cac"
        },
        {
          "key": "GEMINI_API_KEY",
          "configured": true,
          "masked": "AIz...NaA"
        },
        {
          "key": "OPENAI_API_KEY",
          "configured": false,
          "masked": ""
        },
        {
          "key": "ANTHROPIC_API_KEY",
          "configured": false,
          "masked": ""
        }
      ],
      "optional": [
        {
          "key": "DEFAULT_LLM_MODEL",
          "configured": false,
          "masked": ""
        }
      ]
    },
    {
      "id": "search",
      "name": "Busca externa e pesquisa",
      "purpose": "Pesquisar leads, empresas, concorrentes e informacoes publicas.",
      "configured": true,
      "required_any": [
        {
          "key": "GOOGLE_API_KEY",
          "configured": true,
          "masked": "AIz...zSA"
        },
        {
          "key": "GOOGLE_CSE_ID",
          "configured": true,
          "masked": "929...f3e"
        },
        {
          "key": "BRAVE_API_KEY",
          "configured": true,
          "masked": "BSA...loT"
        },
        {
          "key": "SERPAPI_API_KEY",
          "configured": false,
          "masked": ""
        },
        {
          "key": "TAVILY_API_KEY",
          "configured": false,
          "masked": ""
        }
      ],
      "optional": [
        {
          "key": "GOOGLE_PLACES_API_KEY",
          "configured": true,
          "masked": "AIz...8KI"
        }
      ]
    },
    {
      "id": "creative",
      "name": "Imagens, videos e criativos",
      "purpose": "Gerar imagens, graficos avancados, videos comerciais e assets de campanha.",
      "configured": true,
      "required_any": [
        {
          "key": "KIE_API_KEY",
          "configured": true,
          "masked": "8d1...a8b"
        },
        {
          "key": "RUNPOD_API_KEY",
          "configured": true,
          "masked": "rpa...1si"
        },
        {
          "key": "OPENAI_API_KEY",
          "configured": false,
          "masked": ""
        },
        {
          "key": "GEMINI_API_KEY",
          "configured": true,
          "masked": "AIz...NaA"
        }
      ],
      "optional": [
        {
          "key": "DEFAULT_IMAGE_MODEL",
          "configured": false,
          "masked": ""
        },
        {
          "key": "DEFAULT_VIDEO_MODEL",
          "configured": false,
          "masked": ""
        }
      ]
    },
    {
      "id": "whatsapp",
      "name": "WhatsApp comercial",
      "purpose": "Enviar abordagens aprovadas, registrar respostas e handoff para humano.",
      "configured": true,
      "required_any": [
        {
          "key": "EVOLUTION_API_KEY",
          "configured": false,
          "masked": ""
        },
        {
          "key": "ZAPI_TOKEN",
          "configured": false,
          "masked": ""
        },
        {
          "key": "TWILIO_AUTH_TOKEN",
          "configured": true,
          "masked": "48a...264"
        }
      ],
      "optional": [
        {
          "key": "EVOLUTION_API_URL",
          "configured": false,
          "masked": ""
        },
        {
          "key": "EVOLUTION_INSTANCE_ID",
          "configured": false,
          "masked": ""
        },
        {
          "key": "ZAPI_INSTANCE_ID",
          "configured": false,
          "masked": ""
        },
        {
          "key": "TWILIO_ACCOUNT_SID",
          "configured": true,
          "masked": "ACb...b41"
        },
        {
          "key": "TWILIO_WHATSAPP_FROM",
          "configured": true,
          "masked": "wha...921"
        },
        {
          "key": "TWILIO_WHATSAPP_NUMBER",
          "configured": true,
          "masked": "wha...921"
        },
        {
          "key": "TWILIO_WHATSAPP_NUMBER_BR",
          "configured": true,
          "masked": "wha...921"
        },
        {
          "key": "TWILIO_WHATSAPP_SENDER_SID",
          "configured": true,
          "masked": "XE7...219"
        }
      ]
    },
    {
      "id": "email",
      "name": "E-mail transacional",
      "purpose": "Enviar relatorios, propostas, follow-ups e alertas.",
      "configured": true,
      "required_any": [
        {
          "key": "SMTP_PASS",
          "configured": false,
          "masked": ""
        },
        {
          "key": "SMTP_PASSWORD",
          "configured": true,
          "masked": "Sm9...Z1a"
        },
        {
          "key": "ZOHO_PASSWORD",
          "configured": true,
          "masked": "sow...sAt"
        },
        {
          "key": "RESEND_API_KEY",
          "configured": false,
          "masked": ""
        },
        {
          "key": "SENDGRID_API_KEY",
          "configured": false,
          "masked": ""
        }
      ],
      "optional": [
        {
          "key": "SMTP_HOST",
          "configured": true,
          "masked": "smt...com"
        },
        {
          "key": "SMTP_PORT",
          "configured": true,
          "masked": "********"
        },
        {
          "key": "SMTP_USER",
          "configured": true,
          "masked": "adm...com"
        },
        {
          "key": "SMTP_FROM",
          "configured": true,
          "masked": "Pay...om>"
        },
        {
          "key": "ZOHO_EMAIL",
          "configured": true,
          "masked": "12b...com"
        },
        {
          "key": "ZOHO_SMTP",
          "configured": true,
          "masked": "smt...com"
        },
        {
          "key": "ZOHO_PORT",
          "configured": true,
          "masked": "********"
        }
      ]
    },
    {
      "id": "calendar",
      "name": "Agenda e convites",
      "purpose": "Agendar reunioes, demos e visitas comerciais por convite ICS universal ou calendario direto.",
      "configured": true,
      "required_any": [
        {
          "key": "SMTP_PASSWORD",
          "configured": true,
          "masked": "Sm9...Z1a"
        },
        {
          "key": "ZOHO_PASSWORD",
          "configured": true,
          "masked": "sow...sAt"
        },
        {
          "key": "GOOGLE_CLIENT_ID",
          "configured": false,
          "masked": ""
        },
        {
          "key": "GOOGLE_SERVICE_ACCOUNT_JSON",
          "configured": false,
          "masked": ""
        }
      ],
      "optional": [
        {
          "key": "SMTP_HOST",
          "configured": true,
          "masked": "smt...com"
        },
        {
          "key": "SMTP_PORT",
          "configured": true,
          "masked": "********"
        },
        {
          "key": "SMTP_USER",
          "configured": true,
          "masked": "adm...com"
        },
        {
          "key": "SMTP_FROM",
          "configured": true,
          "masked": "Pay...om>"
        },
        {
          "key": "GOOGLE_CLIENT_SECRET",
          "configured": false,
          "masked": ""
        },
        {
          "key": "GOOGLE_REDIRECT_URI",
          "configured": false,
          "masked": ""
        },
        {
          "key": "GOOGLE_CALENDAR_ID",
          "configured": false,
          "masked": ""
        },
        {
          "key": "GOOGLE_APPLICATION_CREDENTIALS",
          "configured": false,
          "masked": ""
        }
      ]
    },
    {
      "id": "crm",
      "name": "CRM externo",
      "purpose": "Sincronizar leads e oportunidades fora do SQLite interno.",
      "configured": true,
      "required_any": [
        {
          "key": "HUBSPOT_ACCESS_TOKEN",
          "configured": true,
          "masked": "pat...c13"
        },
        {
          "key": "HUBSPOT_PRIVATE_APP_TOKEN",
          "configured": true,
          "masked": "pat...c13"
        },
        {
          "key": "PIPEDRIVE_API_TOKEN",
          "configured": false,
          "masked": ""
        }
      ],
      "optional": [
        {
          "key": "CRM_BASE_URL",
          "configured": false,
          "masked": ""
        }
      ]
    },
    {
      "id": "owner_auth",
      "name": "Autorizacao do dono",
      "purpose": "Permitir que o agente grave chaves e configuracoes somente com comando autorizado.",
      "configured": true,
      "required_any": [
        {
          "key": "OWNER_COMMAND_PIN",
          "configured": true,
          "masked": "configurado"
        }
      ],
      "optional": []
    }
  ],
  "missing": []
}