❀Newman's Personal Motorcade

    TypeScript icon, indicating that this package has built-in type declarations

    4.52.0Β β€’Β PublicΒ β€’Β Published


    wa-automate-nodejs is the most advanced NodeJS library which provides a high-level API to control WA.

    npm version node Downloads Average time to resolve an issue Percentage of issues still open

    WhatsApp_Web 2.2147.16Twitter Follow

    Deploy to DO

    Key Features β€’ Getting Started β€’ Easy API β€’ Documentation β€’ Get a License Key β€’ Support

    Installation and Updating

    Use this command to install the library for the first time and to keep the library up to date.

    > npm i --save @open-wa/wa-automate@latest



    Want to convert your WA account to an API instantly? You can now with the CLI. For more details see Easy API

    > npx @open-wa/wa-automate --help

    Custom Setup

    Learn more about all possible configuration options here: ConfigObject

    const wa = require('@open-wa/wa-automate');
      sessionId: "COVID_HELPER",
      multiDevice: true, //required to enable multiDevice support
      authTimeout: 60, //wait only 60 seconds to get a connection with the host account device
      blockCrashLogs: true,
      disableSpins: true,
      headless: true,
      hostNotificationLang: 'PT_BR',
      logConsole: false,
      popup: true,
      qrTimeout: 0, //0 means it will wait forever for you to scan the qr code
    }).then(client => start(client));
    function start(client) {
      client.onMessage(async message => {
        if (message.body === 'Hi') {
          await client.sendText(message.from, 'πŸ‘‹ Hello!');
    After executing create() function, @open-wa/wa-automate will create an instance of WA web. If you are not logged in, it will print a QR code in the terminal. Scan it with your phone and you are ready to go!
    @open-wa/wa-automate will remember the session so there is no need to authenticate every time

    Multi Device Support

    We're currently in a weird transitionary period where some people are being forced to adopt Multi Device (MD). Once the transition is complete, the library default will be to turn on MD support. For now, you have to set it yourself explicitly either by using the --multi-device flag (with the CLI) or setting multiDevice: true in your config (with your custom code)

    Latest Changes

    With the constant updates from WA. It is advisable to always use the latest version of @open-wa/wa-automate.

    Functions list

    Function Reference
    Receive message onMessage
    Automatic QR Refresh autoRefresh
    Send text sendText
    Get contacts getContact
    Get chats getAllChats
    Get groups getAllGroups
    Get group members getGroupMembersId
    Send contact sendContact
    Send Images (image) sendImage
    Send media (audio, doc) sendFile
    Send media (video) Send Videos
    Send stickers sendStickerfromUrl
    Decrypt media (image, audio, doc) Decrypt Media
    Capturing QR Code Capturing QR Code
    Multiple Sessions Multiple Sessions
    Last seen getLastSeen
    isOnline isChatOnline
    πŸ“ Send Location sendLocation
    Simulated '...typing' simulateTyping
    Send GIFs! sendVideoAsGif
    Send Giphy! sendGiphy
    Forward Messages forwardMessages
    Listen to Read Receipts onAck
    Listen to Live Locations onLiveLocation
    Group participant changes onParticipantsChanged
    Create Groups Create Group
    add, remove, promote, demote participants Manage Participants

    Checkout all the available functions here.

    Running the demo

    You can clone this repo and run the demo, but you will need to use typescript/ts-node:

    > git clone https://github.com/open-wa/wa-automate-nodejs.git
    > cd wa-automate-nodejs
    > npm i
    > npm i -g ts-node typescript
    > cd demo
    > ts-node index.ts


    Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


    If you need paid support, consulting, or just want support/sponsor the ongoing development of this project, you can in the following ways:

    Description Link
    Get a License key Get a License key
    Donate or Book 1 hour consult Buy me a coffee
    Per-minute consulting Consulting
    Hire me! Consulting Request


    Hippocratic + Do Not Harm Version 1.0


    This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WA or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk.

    Cryptography Notice

    This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

    The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.


    npm i @open-wa/wa-automate

    DownloadsWeekly Downloads





    H-DNH V1.0

    Unpacked Size

    1.2 MB

    Total Files


    Last publish


    • smashah