Discord

Use this app to create a Discord source that emits messages from your guild to a Pipedream workflow.

Go to site
Explore
/
Apps
/
Discord

Discord API Integrations

Build and run workflows using the Discord API. Use 1000s of open source triggers and actions across 900+ apps. Or write custom code to integrate any app or API in seconds.

Overview

The Pipedream Discord app enables you to build event-driven workflows that interact with the Discord API. When you authorize the Pipedream app's access to your guilds, you can use Pipedream workflows to perform common Discord actions, or write your own code against the Discord API.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    discord: {
      type: "app",
      app: "discord",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://discord.com/api/users/@me`,
      headers: {
        Authorization: `Bearer ${this.discord.$auth.oauth_access_token}`,
        "accept": `application/json`,
      },
    })
  },
})

Getting Started

You can install the Pipedream Discord app in the Accounts section of your account, or directly in a workflow.

Not sure if you need to use the Discord or the Discord Bot integration for your workflow? Here's are the general similarities and differences:

Discord and Discord Bot actions and triggers can both:

  • Listen to events on Discord channels, guilds, etc.
  • Perform actions like sending messages, managing channels, and members

However the Discord integration will perform actions with the official Pipedream Discord bot.

Using the Discord Bot integration will use a custom bot instead, with it's own name and photo.

Accounts

  1. Visit https://pipedream.com/accounts.
  2. Click on the Click Here To Connect An App button in the top-right.
  3. Search for "Discord" among the list of apps, and select it.
  4. This will open a new window asking you to allow Pipedream access to your Slack workspace. Choose the right workspace where you'd like to install the app, then click Allow.
  5. That's it! You can now use this Discord account in any actions, or link it to any code step.

Within a workflow

  1. Create a new workflow.
  2. Select your trigger (HTTP, Cron, etc.).
  3. Click on the + button below the trigger step, and search for "Slack".
  4. Select the Send a Message action.
  5. Click the Connect Account button near the top of the step. This will prompt you to select any existing Discord accounts you've previously authenticated with Pipedream, or you can select a New account. Clicking New opens a new window asking you to allow Pipedream access to your Discord account. Choose the right guilde where you'd like to install the app, then click Allow.
  6. That's it! You can now connect to the Discord API using any of the Discord actions within a Pipedream workflow.
Send Message (Advanced) with Discord API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + Discord
 
Try it
Send Message (Advanced) with Discord Webhook API on New Message from Discord API
Discord + Discord Webhook
 
Try it
Add Multiple Rows with Google Sheets API on New Message from Discord API
Discord + Google Sheets
 
Try it
Acknowledge Incident with PagerDuty API on New Message from Discord API
Discord + PagerDuty
 
Try it
Add a new contact with SendinBlue API on New Message from Discord API
Discord + SendinBlue
 
Try it
New Message (Instant) from the Discord API

Emit new event for each message posted to one or more channels in a Discord server

 
Try it
Message Deleted (Instant) from the Discord API

Emit new event for each message deleted

 
Try it
New Guild Member (Instant) from the Discord API

Emit new event for each new member added to a guild

 
Try it
Reaction Added (Instant) from the Discord API

Emit new event for each reaction added to a message

 
Try it
Send Message with the Discord API

Send a simple message to a Discord channel

 
Try it
Send Message (Advanced) with the Discord API

Send a simple or structured message (using embeds) to a Discord channel

 
Try it
Send Message With File with the Discord API

Post a message with an attached file

 
Try it

Troubleshooting

If you have issues with this integration, please join our public Slack and ask for help.

Authentication

Discord uses OAuth authentication. When you connect your Discord account, Pipedream will open a popup window where you can sign into Discord and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Discord API.

Pipedream requests the following authorization scopes when you connect your account:

botemailidentifyguilds
OAuth Request Configurations:
  1. authorization
    GEThttps://discord.com/oauth2/authorize?client_id={{oauth.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code&scope={{oauth.space_separated_scopes}}&prompt=consent&permissions=8
  2. accessToken
    POSThttps://discord.com/api/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}
  3. refreshToken
    POSThttps://discord.com/api/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&grant_type=refresh_token&refresh_token={{oauth.refresh_token}}