Using Slack's Bolt framework in Pipedream

Hi,

I’m interested in building a slack application built in NodeJS, and was thinking about doing it in Pipedream. The question is if I’d like to use the bolt framework which has a different listener, http responder than axios.

I’m assuming I would use an import at the top

import { App } from ‘@slack/bolt’;

But wasn’t sure if it’s possible to not use the Axios.

Is this possible, and if so, do you have any example that uses the bolt framework in a NodeJS pipedream workflow?

Thanks
Erik

I was able to find a reference example of using Google Functions which I “think” might work, except, I’m running into some import issues for the modules.

Here’s the reference example:

When I import
import { App, ExpressReceiver } from ‘@slack/bolt’

I get the following
Code Error

SyntaxError: The requested module ‘@slack/bolt’ does not provide an export named ‘App’
Same thing with ExpressReceiver

Any ideas? I was able to get it to work with the require, but that created an issue when using the export default for the exporting of the module.

Hello @ekellener,

I think Slack’s Bolt framework requires a dedicated server (or serverless function) running that listen on Slack events. This is essentially the purpose of Pipedream Slack sources.

So some ways I can think of:

  1. Only use Pipedream Slack sources and build a workflow around your usecase
  2. Build you Slack app on GCP function or similar platform, then having it calling Pipedream HTTP webhook trigger to execute some actions on an event

Yeah, I like the idea of using the source for the workflow, but I’m still running into the import issue to get it to run w/o an error. Found some workarounds online to try, but they all require access to the package.json

Any ideas?