AI för företag

OpenWA gör WhatsApp till ett eget API – men det finns en viktig risk

OpenWA är ett gratis självhostat WhatsApp API med REST, webhooks, n8n och MCP. Så fungerar det och vilka risker du behöver känna till.

OpenWA-logotyp på mörk bakgrund med WhatsApp- och API-symboler

OpenWA är ett open source-projekt som gör ett vanligt WhatsApp-konto till ett programmerbart API. Du kopplar ett konto genom att skanna en QR-kod och kan därefter skicka och ta emot meddelanden från egna appar, automatiseringar och AI-agenter.

Projektet erbjuder betydligt mer än ett enkelt skript. Det innehåller REST API, webhooks, webbpanel, API-nycklar, flera samtidiga WhatsApp-sessioner, stöd för n8n och en MCP-server som kan ge verktyg till exempelvis Claude Code och Cursor.

Det låter som ett gratis alternativ till Metas WhatsApp Cloud API. Tekniskt är det delvis sant, men lösningarna bygger på helt olika grund. OpenWA använder WhatsApp Web-teknik och är inte ett officiellt Meta-API. Det ger större frihet, men också högre drift- och kontorisk.

Vad är OpenWA?

OpenWA beskrivs av utvecklaren som en gratis, självhostad WhatsApp API Gateway. Projektet är skrivet i TypeScript och bygger på Node.js 22, NestJS, React, Docker och TypeORM. Som WhatsApp-motor kan systemet använda whatsapp-web.js eller Baileys.

I stället för att din app kommunicerar direkt med WhatsApp behöver den bara prata med OpenWA över HTTP. OpenWA sköter sessionen mot WhatsApp och översätter händelser till REST-anrop, webhooks eller MCP-verktyg.

Projektets GitHub-sida rapporterade den 19 juli 2026 omkring 11 500 stjärnor, 2 600 forks och över 700 commits. Det visar ett snabbt växande intresse, men stjärnor är inte samma sak som bevisad stabilitet i affärskritisk drift.

Viktigaste funktionerna

OpenWA har stöd för:

  • text, bilder, video, dokument och ljud,
  • leveransstatus och läskvitton,
  • redigeringar och reaktioner,
  • grupper, kanaler och etiketter,
  • flera WhatsApp-konton på samma installation,
  • realtidswebhooks med HMAC-signering,
  • API-nycklar, behörigheter och sessionsbegränsning,
  • SQLite eller PostgreSQL,
  • valfri Redis-cache,
  • lokal lagring eller S3/MinIO för backup och migrering,
  • Swagger-dokumentation,
  • Docker och health checks,
  • n8n-noder för automatisering,
  • MCP för AI-agenter.

Det gör OpenWA användbart både som backend till en egen app och som integrationslager mellan WhatsApp och andra system.

Vad kan man bygga med OpenWA?

Kundservice och automatiska svar

Ett inkommande meddelande kan skickas till ett webhook-endpoint eller ett n8n-flöde. Där kan systemet identifiera ärendet, slå upp kundinformation och skicka ett automatiskt svar.

Order- och bokningsnotiser

En webbshop eller bokningsapp kan använda REST API:t för att skicka orderbekräftelser, påminnelser och statusuppdateringar. Här måste du fortfarande följa WhatsApps regler och undvika oönskade massutskick.

Leadinsamling till Google Sheets eller CRM

OpenWAs n8n-trigger kan starta ett arbetsflöde när ett nytt meddelande kommer in. Telefonnummer, namn och meddelande kan sparas i Google Sheets, ett CRM eller en egen databas.

Driftlarm

System kan skicka WhatsApp-notiser när en server går ned, en beställning misslyckas eller en sensor rapporterar ett problem. Webhooks kan även användas för att varna när en WhatsApp-session kopplas från.

AI-assistent i WhatsApp

Den inbyggda MCP-servern exponerar omkring 39 utvalda verktyg för sessioner, meddelanden, kontakter, enklare gruppfunktioner och webhook-läsning. En AI-agent kan därmed läsa inkommande meddelanden och utföra tillåtna WhatsApp-åtgärder.

MCP-funktionen är avstängd från början. Dokumentationen rekommenderar en separat API-nyckel med minsta möjliga behörighet, sessionsbegränsning och läsläge när agenten inte behöver skicka meddelanden.

Så fungerar arkitekturen

OpenWA ligger mellan WhatsApp och dina egna system:

1. Ett WhatsApp-konto länkas genom QR-kod. 2. whatsapp-web.js eller Baileys håller sessionen aktiv. 3. NestJS exponerar REST API, webhooks, Socket.IO och valfri MCP. 4. En app, n8n eller AI-agent använder API-nyckel för åtkomst. 5. Data lagras i SQLite eller PostgreSQL, med Redis som valfri cache.

Det innebär att du själv kontrollerar servern och databasen. Samtidigt blir du ansvarig för uppdateringar, backup, TLS, loggning, övervakning och återställning av sessioner.

Installation med Docker på Mac, Windows och Linux

Docker är den rekommenderade vägen. Installera först Git och Docker Desktop på Mac eller Windows. På Linux används Docker Engine och Docker Compose.

Kör sedan:

git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
docker compose -f docker-compose.dev.yml up -d

Öppna därefter:

Dashboard: http://localhost:2785
API: http://localhost:2785/api
Swagger: http://localhost:2785/api/docs

I dashboarden skapar du en session, startar den och skannar QR-koden med WhatsApp.

För lokal utveckling utan Docker krävs Node.js 22 eller senare:

git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
npm install
npm run dev

Utvecklingspanelen körs då på port 2886, medan API:t använder port 2785.

Produktion: så bör det sättas upp

För en enkel installation används SQLite och lokal lagring:

docker compose up -d

För PostgreSQL:

docker compose --profile postgres up -d

För PostgreSQL, Redis och MinIO:

docker compose --profile full up -d

OpenWA serverar vanlig HTTP på sin egen port. I produktion ska en reverse proxy, exempelvis Caddy eller nginx, terminera TLS och endast exponera tjänsten över HTTPS.

Du bör dessutom:

  • använda en separat server och ett separat WhatsApp-nummer,
  • stänga port 2785 mot internet och gå genom reverse proxy,
  • sätta stark API_MASTER_KEY och API_KEY_PEPPER,
  • begränsa API-nycklar efter roll och session,
  • använda CIDR/IP-begränsning där det fungerar,
  • verifiera HMAC-signaturer på webhooks,
  • kryptera disk eller använda krypterad managed PostgreSQL,
  • säkerhetskopiera datavolym och databas,
  • övervaka frånkopplade sessioner och misslyckade anrop,
  • uppdatera projektet och dess beroenden regelbundet.

Säkerheten är genomtänkt – men inte färdig

OpenWA innehåller flera bra skydd: API-nycklar lagras som hash, behörigheter kan begränsas, webhooks signeras med HMAC-SHA256 och systemet har rate limiting, CORS, CIDR-regler och säkerhetsheaders.

Det finns samtidigt viktiga begränsningar som projektets egen dokumentation är tydlig med:

  • ingen applikationsbaserad kryptering av data i vila,
  • WhatsApp-sessionens autentiseringsfiler lagras okrypterade på disk,
  • meddelandeinnehåll lagras i klartext i databasen,
  • webhook-hemligheter och eventuella proxyuppgifter lagras i klartext,
  • auditloggen täcker för närvarande främst sessionens livscykel,
  • automatiska säkerhetslarm och tillfällig blockering är inte implementerade,
  • stöd för Docker Secrets via *_FILE är beskrivet men inte implementerat.

Detta behöver inte göra OpenWA osäkert, men det betyder att infrastrukturen runt systemet måste skyddas korrekt.

OpenWA jämfört med WhatsApp Cloud API

OmrådeOpenWAWhatsApp Cloud API
TypSjälvhostad gateway via WhatsApp WebOfficiellt API hostat av Meta
AnslutningQR-kod och länkat WhatsApp-kontoMeta-app, Business Portfolio, WABA och företagsnummer
ProgramkostnadMIT-licens, ingen licensavgiftDebitering per levererat meddelande
DriftDu sköter server, databas och uppdateringarMeta sköter WhatsApp-infrastrukturen
Grupper och personliga kontonStöd genom Web-motorernaInriktat på företagskommunikation
SkalningBeror på egen server och sessionsstabilitetUtformat för kommunikation i stor skala
RegelverkInofficiell integrationOfficiell och policykontrollerad
RiskProtokolländringar, frånkoppling och möjlig kontobegränsningKostnad, mallregler, verifiering och Meta-beroende
AIMCP, REST och fria integrationerByggs ovanpå Metas officiella API och villkor

Metas Cloud API är den officiella lösningen för företag och kräver Meta Business-tillgångar och ett företagsnummer. Priset baseras på levererade meddelanden, mottagarens marknad och meddelandekategori.

OpenWA har ingen meddelandeavgift eller programlicens, men är inte gratis att driva. Du betalar för server, domän, backup, övervakning och arbetstid. Vid större volymer kan den operativa kostnaden bli viktigare än programpriset.

Den viktigaste risken: OpenWA är inte ett officiellt WhatsApp API

OpenWA använder motorer som ansluter genom WhatsApp Web i stället för Metas officiella Business Platform. Det innebär att lösningen kan påverkas när WhatsApp ändrar sitt webbprotokoll.

Meta förbjuder automatiserad åtkomst utan uttryckligt tillstånd i sina villkor. Därför finns en reell risk för frånkoppling eller kontobegränsning, särskilt vid massutskick, spamliknande beteende eller aggressiv automatisering.

Använd därför inte ditt privata huvudnummer. Ett separat nummer, försiktig meddelandetakt och tydligt användarsamtycke minskar risken, men tar inte bort den.

För kundkritisk kommunikation, höga volymer eller verksamheter med hårda compliancekrav är WhatsApp Cloud API normalt det säkrare valet. OpenWA passar bättre för utveckling, interna system, labbmiljöer och projekt där kontroll och flexibilitet väger tyngre än officiellt plattformsstöd.

Hur moget är projektet?

Källkoden anger version 0.8.18, medan GitHubs senaste formella release fortfarande pekar på v0.1.6. Det tyder på att utvecklingen på huvudgrenen ligger långt före den formella releasehanteringen.

Det behöver inte betyda att projektet är instabilt, men den som använder OpenWA i produktion bör låsa en testad commit eller container-version i stället för att automatiskt följa latest.

Projektet har MIT-licens, vilket tillåter både privat och kommersiell användning. Licensen innebär däremot ingen garanti, supportförpliktelse eller kompatibilitetsgaranti mot framtida WhatsApp-ändringar.

Fördelar och nackdelar

Fördelar

  • ingen licensavgift,
  • full kontroll över kod och data,
  • snabb installation med Docker,
  • flera WhatsApp-sessioner,
  • modernt REST API och Swagger,
  • färdig webbpanel,
  • bra n8n-integration,
  • MCP-stöd för AI-agenter,
  • stöd för grupper, kanaler och etiketter,
  • val mellan SQLite, PostgreSQL, Redis och S3/MinIO.

Nackdelar

  • inofficiell WhatsApp-anslutning,
  • möjlig risk för kontobegränsning,
  • du ansvarar för drift och säkerhet,
  • känsliga uppgifter är inte applikationskrypterade i vila,
  • delar av audit- och säkerhetsfunktionerna är fortfarande begränsade,
  • WhatsApp Web-ändringar kan tillfälligt bryta funktioner,
  • formella GitHub-releaser verkar ligga efter huvudgrenen.

Slutsats

OpenWA är ett av de mest kompletta open source-projekten för att göra WhatsApp programmerbart utan att bygga hela infrastrukturen själv. Kombinationen av dashboard, REST API, webhooks, n8n och MCP gör projektet särskilt intressant för utvecklare som arbetar med automatisering och AI-agenter.

Det är däremot inte en kostnadsfri kopia av WhatsApp Cloud API. Du byter Metas avgifter och begränsningar mot eget driftansvar och en inofficiell anslutning med kontorisk.

För prototyper, interna verktyg, personliga automatiseringar och kontrollerade AI-projekt är OpenWA mycket intressant. För affärskritisk kundkommunikation bör det utvärderas försiktigt mot Metas officiella Cloud API innan det sätts i produktion.

Vanliga frågor

Är OpenWA gratis?

Ja. Koden har MIT-licens och saknar licensavgift. Server, lagring, backup, domän och drift kostar däremot pengar eller arbetstid.

Behöver man Meta Business-verifiering?

OpenWA ansluter genom QR-kod och WhatsApp Web-motorer, inte genom Cloud API:s vanliga Meta-onboarding. Det är samtidigt skälet till att integrationen är inofficiell.

Kan OpenWA användas med n8n?

Ja. Projektet har community-noder för att skicka meddelanden och starta n8n-flöden från WhatsApp-händelser.

Kan Claude eller andra AI-agenter använda OpenWA?

Ja. MCP-servern kan aktiveras och kopplas till kompatibla klienter. Använd en separat, sessionsbegränsad API-nyckel och läsläge när agenten inte behöver skriva.

Är OpenWA säkert att exponera på internet?

Inte direkt på port 2785. Använd HTTPS via reverse proxy, brandvägg, begränsade API-nycklar, HMAC-verifiering, krypterad lagring och ordentlig övervakning.

Kan WhatsApp-numret blockeras?

Risken kan inte uteslutas eftersom OpenWA använder en inofficiell WhatsApp Web-anslutning. Använd inte ditt huvudnummer och undvik massutskick eller oönskad kommunikation.

Källor

  • OpenWA GitHub: https://github.com/rmyndharis/OpenWA
  • OpenWA package.json: https://github.com/rmyndharis/OpenWA/blob/main/package.json
  • OpenWA säkerhetsdesign: https://github.com/rmyndharis/OpenWA/blob/main/docs/04-security-design.md
  • OpenWA n8n-integration: https://github.com/rmyndharis/OpenWA/blob/main/docs/22-n8n-integration.md
  • Meta WhatsApp Business Platform: https://www.postman.com/meta/whatsapp-business-platform/overview
  • WhatsApp Business Platform-priser: https://whatsappbusiness.com/products/platform-pricing/
  • Meta Terms of Service: https://www.facebook.com/terms

Källa: OpenWA GitHub

OpenWA WhatsApp Docker n8n MCP AI-agenter API

Källor