New Docs Slack bot
@pd
code:
data:privatelast updated:2 years ago
today
Build integrations remarkably fast!
You're viewing a public workflow template.
Sign up to customize, add steps, modify code and more.
Join 1,000,000+ developers using the Pipedream platform
steps.
trigger
HTTP API
Deploy to generate unique URL
This workflow runs on Pipedream's servers and is triggered by HTTP / Webhook requests.
steps.
title
auth
to use OAuth tokens and API keys in code via theauths object
code
Write any Node.jscodeand use anynpm package. You can alsoexport datafor use in later steps via return or this.key = 'value', pass input data to your code viaparams, and maintain state across executions with$checkpoint.
async (event, steps) => {
1
2
3
4
5
6
}
7
const { text } = steps.trigger.event.body.event
if (!text) $end("No text in message, exiting")
if (steps.trigger.event.body.event?.thread_ts) $end("We don't run on messages in threads")
 
return text.replace(/<@U0245784PC3>\s*/, '')
steps.
github_create_repo_issue
Creates an issue in a repository.
auth
(auths.github)
params
Title

The title of the issue.

{{steps.title.$return_value}}
string ·params.title
Owner

Name of repository owner.

 
string ·params.owner
Repo

Name of repository.

 
string ·params.repo
Labels

Labels to associate with this issue. NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise.

[0]:
docs
array ·params.labels
Optional
code
async (params, auths) => {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
}
20
//See the API docs here: https://developer.github.com/v3/issues/#create-an-issue
const data = {
  assignee: params.assignee,
  body: params.body,
  labels: params.labels,
  milestone: params.milestone,
  title: params.title,
}
const config = {
  method: "post",
  url: `https://api.github.com/repos/${params.owner}/${params.repo}/issues`,
  headers: {
    Authorization: `Bearer ${auths.github.oauth_access_token}`,
  },
  data,
}
return await require("@pipedreamhq/platform").axios(this, config)
steps.
nodejs
configure
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { WebClient } from '@slack/web-api'

export default defineComponent({
  props: {
    slack: {
      type: "app",
      app: "slack",
    }
  },
  async run({ steps, $ }) {
    const web = new WebClient(this.slack.$auth.oauth_access_token)
    const { channel, ts, thread_ts } = steps.trigger.event.body.event
    return await web.chat.postMessage({
      text: `Added ticket to the backlog: ${steps.github_create_repo_issue.$return_value.html_url}`,
      channel,
      thread_ts: thread_ts ?? ts,
    })
  },
})