nullchat icon indicating copy to clipboard operation
nullchat copied to clipboard

ServiceAccounts

Open mattfeldman opened this issue 10 years ago • 1 comments

ServiceAccounts

Description

ServiceAccounts are accounts that the system runs on behalf on channel operators to enable bi-directional integration with external services.

An example with github:

I would like to notify the #project channel about new pushes to my github.com/user/project repo .

Given

  • I request a Github Webhook callback URI for #project in nullchat
  • I supply the URI to my github project's webhook

When

  • I push to the project repository on github

Then

  • A new message is posted to #project by the Github ServiceAccount containing a rich summary of the push

I would like everyone in the #bugs room to be able to easily log an issue ...@github new issue blah blah blah

Components

  • ServiceAccounts
  • Incoming Callback Routing
  • Outbound Webhooks
  • Tokenized URI Generation/Revocation

Candidates for First-Party Integrations

  • Github
  • Trello
  • Mailgun
  • (insert standarized IFTTT/Zapier payload format IFF it exists)
  • Habitrpg
  • Skype

mattfeldman avatar Feb 22 '15 09:02 mattfeldman

I think pushes to master could be a good idea, pushes to private branches might get noisy. Notifying on pull requests created/issues created invites people to take action. I'm always in favor of actionable notifications. Is your vision just for decaprime/nullchat or to have the capability to create new rooms for other repos that users are interested in?

Having the ability to add Github integrations to a room, generate a URL to post to, and then consume any payloads from Github to those URLs (could be commit/push, PR, issue, etc. - set in the Github settings) would be really powerful.

michaelb990 avatar Feb 23 '15 02:02 michaelb990