PipedreamHQ / pipedream

Connect APIs, remarkably fast. Free for developers.
https://pipedream.com
Other
8.94k stars 5.27k forks source link

[APP] Fully featured open-wa integration #1582

Open smashah opened 3 years ago

smashah commented 3 years ago

Name of app / service

open-wa - https://github.com/open-wa/wa-automate-nodejs

Link to developer documentation

https://docs.openwa.dev/

Is lack of support preventing you from building workflows, or do you have a workaround?

I'm the maintainer for open-wa and I've had quite a few users request/talk about integrating with pipedream. It would be great if we collaborate to expedite the building of an integration that will expose all features of open-wa (including sending buttons) to pipedream.

Are there specific actions, or triggers, you'd like to see for this app? Please let us know here or use the Action and Trigger issue templates to open requests for each!

https://github.com/open-wa/wa-automate-nodejs/issues/2002

dylburger commented 3 years ago

@smashah thanks for the request. I briefly looked at the docs and had one question. Pipedream is an event-driven system that runs short functions triggered by HTTP requests, cron jobs, etc. I noticed your library appears to start a client that listens for events as a long-running process. That client wouldn't persist in Pipedream beyond the execution of a single invocation - is that OK / expected? That is, can users simply configure a client, send media or perform other operations, and exit?

I also noticed that the licenseKey isn't required to instantiate a client and use the service. Is there a specific key or client ID used to identify users, or some other way users authorize requests? When we configure a native integration, we normally prompt the user for any API keys or other data they need to use the service, so I'm wondering what properties you'd expect users to enter there.

smashah commented 3 years ago

hey @dylburger,

open-wa can be used via a custom nodejs setup or the EASY API (https://docs.openwa.dev/pages/Getting%20Started/quick-run.html)

The EASY API is self-hosted and exposes all functionality of the library via API + webhook (also socket.io but I know that pipedream does not support sockets yet) - think self-hosted chat-api.

The EASY API can generate (or accept) an API Key via the -k flag.

You can try it out using this command:

> npx @open-wa/wa-automate -k -w [pipedream webhook address]

-w sets the webhook address. It can be set after the process has been started which would make the integration much simpler for users.

licenseKey unlocks features but it is not required to use the majority of the features.

Upon authenticating the integration, users will enter the URL of the EASY API and the API key.

dylburger commented 3 years ago

More details on the integration and possible test requests here: https://pipedream-users.slack.com/archives/C0229H2JNA3/p1628794120016000 .

@smashah we'll configure the integration on our side ASAP, which will expose the URL / API key in this.$auth within the "app file" for components, e.g. like in the Google Cloud integration.

sergio-eliot-rodriguez commented 7 months ago

New home page Same homepage... https://github.com/open-wa/wa-automate-nodejs#readme

....Dev docs broken https://docs.openwa.dev/