chat.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { grafanaOnCallConfig, slackConfig, getstreamConfig, rocketChatConfig } from '../credentials';
  2. import { ChatProviderIdEnum } from '../provider.enum';
  3. import { ChannelTypeEnum } from '../../../types';
  4. import { UTM_CAMPAIGN_QUERY_PARAM } from '../../../ui';
  5. export const chatProviders = [
  6. {
  7. id: ChatProviderIdEnum.Slack,
  8. displayName: 'Slack',
  9. channel: ChannelTypeEnum.CHAT,
  10. credentials: slackConfig,
  11. docReference: `https://docs.novu.co/channels-and-providers/chat/slack${UTM_CAMPAIGN_QUERY_PARAM}`,
  12. logoFileName: { light: 'slack.svg', dark: 'slack.svg' },
  13. },
  14. {
  15. id: ChatProviderIdEnum.Discord,
  16. displayName: 'Discord',
  17. channel: ChannelTypeEnum.CHAT,
  18. credentials: [],
  19. docReference: `https://docs.novu.co/channels-and-providers/chat/discord${UTM_CAMPAIGN_QUERY_PARAM}`,
  20. logoFileName: { light: 'discord.svg', dark: 'discord.svg' },
  21. },
  22. {
  23. id: ChatProviderIdEnum.GrafanaOnCall,
  24. displayName: 'Grafana On Call Webhook',
  25. channel: ChannelTypeEnum.CHAT,
  26. credentials: grafanaOnCallConfig,
  27. docReference: 'https://grafana.com/docs/oncall/latest/integrations/webhook/',
  28. logoFileName: { light: 'grafana-on-call.png', dark: 'grafana-on-call.png' },
  29. },
  30. {
  31. id: ChatProviderIdEnum.MsTeams,
  32. displayName: 'MSTeams',
  33. channel: ChannelTypeEnum.CHAT,
  34. credentials: [],
  35. docReference: `https://docs.novu.co/channels-and-providers/chat/ms-teams${UTM_CAMPAIGN_QUERY_PARAM}`,
  36. logoFileName: { light: 'msteams.svg', dark: 'msteams.svg' },
  37. },
  38. {
  39. id: ChatProviderIdEnum.Mattermost,
  40. displayName: 'Mattermost',
  41. channel: ChannelTypeEnum.CHAT,
  42. credentials: [],
  43. docReference: 'https://developers.mattermost.com/integrate/webhooks/incoming/',
  44. logoFileName: { light: 'mattermost.svg', dark: 'mattermost.svg' },
  45. },
  46. {
  47. id: ChatProviderIdEnum.Ryver,
  48. displayName: 'Ryver',
  49. channel: ChannelTypeEnum.CHAT,
  50. credentials: [],
  51. docReference: 'https://api.ryver.com/ryvrest_api_examples.html#create-chat-message',
  52. logoFileName: { light: 'ryver.png', dark: 'ryver.png' },
  53. },
  54. {
  55. id: ChatProviderIdEnum.Zulip,
  56. displayName: 'Zulip',
  57. channel: ChannelTypeEnum.CHAT,
  58. credentials: [],
  59. docReference: `https://docs.novu.co/channels-and-providers/chat/zulip${UTM_CAMPAIGN_QUERY_PARAM}`,
  60. logoFileName: { light: 'zulip.svg', dark: 'zulip.svg' },
  61. },
  62. {
  63. id: ChatProviderIdEnum.GetStream,
  64. displayName: 'GetStream',
  65. channel: ChannelTypeEnum.CHAT,
  66. credentials: getstreamConfig,
  67. docReference: 'https://getstream.io/chat/docs/node/?language=javascript',
  68. logoFileName: { light: 'getstream.svg', dark: 'getstream.svg' },
  69. },
  70. {
  71. id: ChatProviderIdEnum.RocketChat,
  72. displayName: 'Rocket.Chat',
  73. channel: ChannelTypeEnum.CHAT,
  74. credentials: rocketChatConfig,
  75. docReference: 'https://developer.rocket.chat/reference/api/rest-api/endpoints',
  76. logoFileName: { light: 'rocket-chat.svg', dark: 'rocket-chat.svg' },
  77. },
  78. ];