Integrating Slack and RStudio Connect / Shiny Apps

Hello Community,

I wanted to check if someone has tried integrating or making Shiny apps/rmarkdowns available to Slack through Rstudio connect.

Any guidance from those who have been successful or discussion/sharing of ideas with those who are interested would be most appreciated.

Sarang

1 Like

Interesting idea.

Can you share some of the ideas you have in mind?

My immediate thought was that it should be possible to connect Slack to RStudio Connect by publishing an API with the plumber package to Connect (paragraph 1.2 in admin guide).

Then you can use the Slack API to communicate to Connect, and get plumber to respond.

Agreed with @andrie. It really depends on the level of integration you want. Slack messages are somewhat limited in the content that can be rendered natively in Slack (ie you can't embed a shiny application within a Slack message, or any HTML content for that matter). However, you can provide a static image and a link to an application or report. As mentioned, plumber is the natural avenue for connecting Slack to your R content.

I actually have a hope that we can extend the various output channels/formats from Connect to address what you are describing. We have been focused on completing more of the email story so far with the ability to have custom attachments, changing the body and the subject lines of the output. I think it would be killer if you could push out something like a plot, or a message on the slack channel based on some computation that was run in Connect. If you have concrete use cases of what you want to try, we would be interested in hearing them. For me personally, I am interested in getting a slack message when a certain set of metrics are outside the predicted range, I would want a quick message with a link back to the dashboard, shiny app, or R Markdown doc.

3 Likes

Hi Tareef,
This is what I am aiming/hoping for.
The way I am seeing this (with my limited ability in Slack bot development + SQL + R + Connect combined), is a phased project.
step 1: have jobs on connect that run validations against data in a DB and send a text message to slack
step 2: have jobs on connect that run validations against data in a DB and send a text message to slack with a rmarkdown/pdf
step 3: Have slack bot that can be called from within a slack channel to query for available reports/shinyapps from connect
step 4: have an ability to check available shinyapps/markdowns, after user selects a desired one, have ability to display app/report parameters, collect and update the app/report and publish the report/app back in the slack channel.

Currently, I think I can get to 1 and 2 with the slackr package. However 3 and 4 are bit more involved for my current level of understanding to execute. would be happy to work with someone on Rstudio if you are interested.

Sarang

2 Likes

Hi Andrie,

You are correct. I am currently working on a solution to have a mixture of plumber for pull and slackr+rjobs for push kind of notification but the current level of integration only allows for text or static assets (PDF) to be passed.

I was thinking of having something more involved. something like what pushmetrics has for tableau slack integration. I think RStudio Connect would be the perfect place for this kind of capability that is badly needed.

A post was split to a new topic: RVIEWS: Slack and Plumber, Part One