I have a requirement to make the Purchase order approvals going through Slack. We get in JSON details like PO Number, Requestor, Vendor, Next approver (email address), Amount and PDF data in binary format.
I need to write to the App section in Slack
To get the Apps ID for a particular user I had to pass the "Bot User OAuth Access Token". This is not possible when I use the Slack connector. So I had to use HTTP Client Connection and pass it as the token. This works just fine. I pass the email address to users.lookupByEmail and pass the resulting value (Root/Object/user/Object/id) to im.open. If I use the Bot User OAuth token then it gives me the approver's Apps ID. If I use the "OAuth Access Token" then I get the user's direct messages ID. The problem with that is if the user has direct communication with anyone, they all can see the message.
I have two issues I am facing now.
- I am not able to create the PDF attachment using HTTP Client connection. I have to send multipart/form-data with binary data. This is not working and Boomi says I can't use message step as it gets converted to text and looses data.
- When the Approve or Reject button is clicked the Slack response has to be sent to a Boomi API. We use Atom Cloud. So I have to use basic authentication. I am able to post data to the URL https://<<user>>:<<passwd>>@test.connect.boomi.com/ws/rest/Slack/SlackResponse using Postman. But when I give the same to "Request URL" in Slack I am not getting the call into Boomi.
Also using the Slack connector I am able to create the file in Slack for me. But I am not able to create it on other people's account.
Let me know if anyone has tried this before. Any ideas or suggestions?
Thanks for reading and your time!