Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Slack api conversations.history returns error: not_in_channel

Tags:

slack-api

I'm starting out with the Slack API and trying to just get a list of messages.

Here are my steps:

  1. Created a Slack app and gave it channels:read and channels:history scope (also re-installed it)
  2. Queried the list of channels with conversations.list (this worked fine)
  3. From the output of conversations.list, I found a channel that I use and copied the id
  4. Used the conversations.history api with the channelid from step 3

Result:

{ "ok": false, "error": "not_in_channel" } 

I'm not at all sure what is happening here. I definitely have messages in the channel, and the documentation page for that api does not say anything about this "not_in_channel" error code.

What am I doing wrong?

like image 750
Eric Jorgensen Avatar asked Feb 12 '20 23:02

Eric Jorgensen


2 Answers

After a long time of investigations (~2 hours), I found an easy approach. For Caleb's answer, I didn't understand how to invite a Bot to the channel. Hence, I am posting this answer.

Go to your Slack Channel and type the following as a message.

/invite @BOT_NAME 

Eg: If your Bot name is SRE Incident Manager the command would be as follows.

/invite @sre_incident_manager 

As soon as you start typing @, Slack will automatically suggest. So it becomes easy. For this, the Bot needs to be added to your Slack Workspace.

PS: Original answer.

like image 118
Keet Sugathadasa Avatar answered Oct 09 '22 20:10

Keet Sugathadasa


This error arises when you are using the bot oauth token and the bot is not invited to the channel. To solve this you need to

  • Invite the bot(slack app) to join the channel.
  • Use the OAuth Access Token instead

To add Bot to your channel you need to write /invite @Bot_name in the slack channel

like image 26
Caleb Njiiri Avatar answered Oct 09 '22 21:10

Caleb Njiiri