{% extends "base.html" %} {% from "macros.html" import pill %} {% block title %}Integrations — Agent Wasp{% endblock %} {% block page_css %} {% endblock %} {% block content %} {# ── Brand logos served locally — no external CDN dependency ────────────── #} {% set LOGOS = { "slack": {"url":"/static/logos/slack.svg", "bg":"#4A154B18"}, "discord": {"url":"/static/logos/discord.svg", "bg":"#5865F218"}, "github": {"url":"/static/logos/github.svg", "bg":"rgba(255,255,255,0.07)"}, "gmail-connector": {"url":"/static/logos/gmail.svg", "bg":"#EA433518"}, "google-calendar": {"url":"/static/logos/googlecalendar.svg", "bg":"#4285F418"}, "telegram": {"url":"/static/logos/telegram.svg", "bg":"#26A5E418"}, "whatsapp": {"url":"/static/logos/whatsapp.svg", "bg":"#25D36618"}, "whatsapp-baileys": {"url":"/static/logos/whatsapp-baileys.svg", "bg":"#128C7E18"}, "spotify": {"url":"/static/logos/spotify.svg", "bg":"#1ED76018"}, "twitter": {"url":"/static/logos/x.svg", "bg":"rgba(255,255,255,0.07)"}, "teams": {"url":"/static/logos/microsoftteams.svg", "bg":"#6264A718"}, "notion": {"url":"/static/logos/notion.svg", "bg":"rgba(255,255,255,0.07)"}, "trello": {"url":"/static/logos/trello.svg", "bg":"#0052CC18"}, "signal": {"url":"/static/logos/signal.svg", "bg":"#3B45FD18"}, "zapier": {"url":"/static/logos/zapier.svg", "bg":"#FF4F0018"}, "home-assistant": {"url":"/static/logos/homeassistant.svg", "bg":"#18BCF218"}, "webhook": {"url":"/static/logos/webhook.svg", "bg":"#6366F118"}, "weather": {"url":"/static/logos/openweathermap.svg", "bg":"#EB6E4B18"}, "matrix": {"url":"/static/logos/matrix.svg", "bg":"rgba(255,255,255,0.07)"}, "obsidian": {"url":"/static/logos/obsidian.svg", "bg":"#7C3AED18"}, "1password": {"url":"/static/logos/1password.svg", "bg":"#3B66BC18"}, "sonos": {"url":"/static/logos/sonos.svg", "bg":"rgba(255,255,255,0.07)"}, "shazam": {"url":"/static/logos/shazam.svg", "bg":"#0088FF18"}, "philips-hue": {"url":"/static/logos/philipshue.svg", "bg":"#0065D318"}, "eight-sleep": {"url":"/static/logos/eightsleep.svg", "bg":"rgba(255,255,255,0.07)"}, "nostr": {"url":"/static/logos/nostr.svg", "bg":"#8B5CF618"}, "zalo": {"url":"/static/logos/zalo.svg", "bg":"#0068FF18"}, "nextcloud-talk": {"url":"/static/logos/nextcloud.svg", "bg":"#0082C918"}, "mcp": {"url":"/static/logos/anthropic.svg", "bg":"rgba(255,255,255,0.07)"}, "browser-controlled": {"url":"/static/logos/googlechrome.svg", "bg":"#4285F418"}, "gif-search": {"url":"/static/logos/giphy.svg", "bg":"#FF666618"}, "image-gen": {"url":"/static/logos/openai.svg", "bg":"rgba(255,255,255,0.07)"}, "email-generic": {"url":"/static/logos/email.svg", "bg":"#64748B18"}, "platform-android": {"url":"/static/logos/android.svg", "bg":"#3DDC8418"}, "platform-windows": {"url":"/static/logos/windows.svg", "bg":"#0078D418"}, "platform-macos": {"url":"/static/logos/macos.svg", "bg":"rgba(255,255,255,0.07)"}, "platform-linux": {"url":"/static/logos/linux.svg", "bg":"#FCC62418"}, "platform-ios": {"url":"/static/logos/ios.svg", "bg":"rgba(255,255,255,0.07)"}, "bluebubbles": {"url":"/static/logos/imessage.svg", "bg":"#34DA5018"}, "cron": {"url":"/static/logos/clockify.svg", "bg":"#03A9F418"}, "webchat": {"url":"/static/logos/googlechat.svg", "bg":"#34A85318"}, } %} {% set CAT_META = { "chat": {"color":"#38BDF8","icon":"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"}, "productivity": {"color":"#4ADE80","icon":"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"}, "media": {"color":"#F472B6","icon":"M9 19V6l12-3v13M9 19c0 1.105-.895 2-2 2s-2-.895-2-2 .895-2 2-2 2 .895 2 2zm12-3c0 1.105-.895 2-2 2s-2-.895-2-2 .895-2 2-2 2 .895 2 2z"}, "social": {"color":"#A78BFA","icon":"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"}, "smart_home": {"color":"#FB923C","icon":"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"}, "tools": {"color":"#FBBF24","icon":"M14.7 6.3a1 1 0 000 1.4l1.6 1.6a1 1 0 001.4 0l3.77-3.77a6 6 0 01-7.94 7.94l-6.91 6.91a2.12 2.12 0 01-3-3l6.91-6.91a6 6 0 017.94-7.94l-3.76 3.76z"}, "security": {"color":"#EF4444","icon":"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"}, "platform": {"color":"#64748B","icon":"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"}, } %} {% set DEF_CAT = {"color":"#6366F1","icon":"M13 10V3L4 14h7v7l9-11h-7z"} %} {% set RISK_COLOR = {"low":"#10B981","medium":"#F59E0B","high":"#EF4444","critical":"#EF4444"} %} {% set enabled_count = integrations | selectattr('enabled') | list | length %} {% set total_count = integrations | length %} {% set cb_open_count = integrations | selectattr('circuit_breaker') | selectattr('circuit_breaker.state', 'equalto', 'open') | list | length %}
{% if registry_available %} {{ enabled_count }} active · {{ total_count - enabled_count }} idle · {{ total_count }} total {% if cb_open_count %} · {{ cb_open_count }} CB open{% endif %} {% else %} registry unavailable {% endif %}
main.py.
{{ intg.description[:60] }}{% if intg.description|length > 60 %}…{% endif %}