How to integrate¶
You can integrate Grape with other systems in a variety of ways:
.. contents:: Table of Contents
Send messages into the chat¶
Examples: Monitoring System Alerts, Social Media Feed, Daily Weather-Bot, Daily Menu from Restaurants
Use our Custom Webhook Integration.
Bot API: Send messages to users, interact with users as a Bot¶
Examples: personal news bot, bot that answers questions
Use our Bot API
A Bot user can use all the RPC calls, a normal user can do, for example:
- receive the history of a room (channels.get_history)
- send messages to a channel (channels.post)
- send messages to a list of users (pm.broadcast_message)
The bot can also open a websocket connection and listen to events and react to them, for example:
- The bot user or someone else was mentioned (Mentioned)
- Someone posted a message to a channel (NewMessage)
- Someone updated a message (UpdatedMessage)
- Someone pinned a message (PinsChanged)
Grape Search: make existing services searchable in the Grape Search¶
Examples: Search for projects, wiki pages, tickets, customers, contacts, calendar events,… in your tools
We have a couple of different ways to integrate something into Grape Search.
Built-In Integration
- Comes with Grape Server
- A search request is handled by the Grape Server (ElasticSearch)
- The code to receive updates from the service or poll for updates, handle them and update the ElasticSearch index is written with our internal framework.
- Developer: Grape and selected partners.
Built-in External Search Integration (Youtube etc.)
- Comes with Grape Server
- A search request will be translated to the service’s search API.
- Developer: Grape and selected partners.
IndexAPI
- A REST API to put data into the Grape Server (ElasticSearch index)
- Developer: anyone
- A search request is handled by ElasticSearch
External Search API
- An API standard that allows to develop a middleware to handle search request from Grape for any desired service.
- Developer: anyone
Decide:
- Only my team or company uses this service. (e.g. internal tool)
- the service has a search API already ➡ use External Search API
- the service has no search API (or a very slow one) ➡ use IndexAPI
- Other companies might use this service too (e.g. Sharepoint)
- Grape or their integration partners have expertise or want this as a built-in integration ➡ let Grape develop a Built-In Integration
- I know experts for this product or Grape knows experts ➡ use External Search API to develop a middleware
- it’s a very common, publicly accessibly database with a search API that a lot of customers might like ➡ let Grape develop a Built-in External Search Integration
We usually discuss this in a requirement workshop.
Embed a chat as a sidebar in other websites/tools¶
Examples: One chat for every sharepoint site collection
To embed a simplified version of the chat, you can use our Embedded Web Client SDK. You can embed different chats on different pages py specifying the channel id.
It’s also possible to automatically create chat groups, for example one for every project in your project management tool, and automatically add all users that have access, so permissions are handled in your existing tool and are synced to Grape.
If you want to do this, have a look at the Managed Room API, which was specifically created for this purpose.
Show bits of information from the chat in other websites/tools¶
Examples:
- Number of unread messages/channels for current user (channels.get_overview)
- Name, icon and number of unread messages for a specific channel (channels.get)
- Last message for all channels (channels.get_overview or channels.get_bulk_history)
- Email invite url (organizations.get_invite_url)
- Online status of a specific user (users.get_user)
- Last 10 mentions (search.search_mentions)
In general, all information that is visible in our client software (web/desktop/mobile) can be fetched by you through our RPC API. Ask us if you can’t find what you are looking for.