Bearer logo

Quickly build your own Slack API Integration

  • Don’t waste time learning the Slack API behaviour
  • Use a pre-configured API client and OAuth2 implementation
  • Consume and transform the Slack API with functions
  • Host and scale your integration for free
  • Monitor and log every API call to the Slack API out of the box.
  • Integrate into your app within seconds using our integration clients
or read the documentation

As a developer, I want to build an integration on Slack

On Bearer

Clone the template

npm init bearer slack -t -d providers/slack
cd slack

Configure your API credentials

npm run bearer setup:auth
? Enter Slack Client ID:
? Enter Slack Client Secret:
Setup the integration with your Slack OAuth2 credentials. This will allow you to make authenticated API requests. Don't know your Slack OAuth2 credentials?

Test the pre-built function

npm run bearer invoke defaultFunction
{
  "data": [
    {
      "id": "RmHW17L5TN",
      "text": "Don't forget to bring your 🐻!",
      "creator": "UEM1DPFBN"
    }
  ]
}

Code your own function

npm run bearer generate:function myFunction
create: functions/myFunction.ts
Function generated
✨ Done
Use your function to call any Slack endpoint and map the data to your app models.

Deploy your integration

npm run bearer push
Refreshing tokens... done
✓ Generate bundle
✓ Transfer bundle
🐻 Integration successfully pushed.
Once your integration is ready, deploy it on the Bearer platform and you’re good to go!
On Your App

Add a Connect Component

JSReact
<script src="https://cdn.jsdelivr.net/npm/@bearer/js/lib/bearer.production.min.js"></script>
<script>
const bearerClient = bearer('BEARER_CLIENT_ID')
bearerClient.connect(
'INTEGRATION_UUID',
'YOUR_SETUP_ID',
{ authId: 'YOUR_USER_IDENTIFIER' }
)
</script>
Once users log in with their Slack account, your functions are able to query the API using their credentials.

Call your functions

JSReactNodeJSRuby
<script src="https://cdn.jsdelivr.net/npm/@bearer/js/lib/bearer.production.min.js"></script>
<script>
const bearerClient = bearer('BEARER_CLIENT_ID')
bearerClient.invoke('INTEGRATION_UUID', 'FUNCTION_NAME', {
query: { params: 'value' }
})
.then(() => {
console.log('Successfully invoked function')
})
.catch(() => {
console.log('Something went wrong')
})
</script>
Use our integration clients to call your functions from your app.

Featured Templates

Bearer - API integration Framework

Product

Company

Docs & Help

Legal

Bearer is on TwitterBearer is on GitHubBearer is on FacebookBearer is on LinkedInBearer is on Medium
© Copyright Bearer 2019