Slack Whatsapp Integration

broken image


Welcome to your new HQ. Teamwork can be hard, messy, complicated and still the best way to work. That's why we made Slack — a place where people get work done, together. Slack And Whatsapp Web App User Interface As for the web and desktop applications of both Slack and Whatsapp, the UI has something in common. The left sidebar shows all your conversations, the right one displays the history of the selected conversation. While Other features are hidden behind the different buttons.

  1. Slack Whatsapp Integration Meaning
  2. Slack Whatsapp Integration Tutorial
  3. Slack Whatsapp Integration Software

Come join our Contributors community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. Join our Developers channel for technical discussions and our Integrations channel for all integrations and plugins discussions.

Slack

What's the difference between incoming and outgoing webhooks?¶

A webhook is a way for one app to send real-time data to another app.

In Mattermost, incoming webhooks receive data from external applications and make a post in a specified channel. They're great for setting up notifications when something happens in an external application.

Outgoing webhooks take data from Mattermost, and send it to an external application. Then the outgoing webhook can post a response back in Mattermost. They're great for listening in on channels, and then notifying external applications when a trigger word is used.

What is a slash command?¶

A slash command is similar to an outgoing webhook, but instead of listening to a channel it is used as a command tool. This means if you type in a slash command it will not be posted to a channel, whereas an outgoing webhook is only triggered by posted messages.

What does Slack-compatible mean?¶

Slack compatible means that Mattermost accepts integrations that have a payload in the same format as Slack.

If you have a Slack integration, you should be able to set it up in Mattermost without changing the format.

What if I have a webhook from somewhere other than Slack?¶

If you have an integration that outputs a payload in a different format you need to write an intermediate application to act as a translation layer to change it to the format Mattermost uses. Since there's currently no general standard for webhook formatting, this is unavoidable and just a part of how webhooks work.

If there's no translation layer, Mattermost won't understand the data you're sending.

What are attachments?¶

When 'attachments' are mentioned in the integrations documentation, it refers to Slack's Message Attachments. These 'attachments' can be optionally added as an array in the data sent by an integration, and are used to customize the formatting of the message.

We currently don't support the ability to attach files to a post made by an integration.

Where can I find existing integrations?¶

Visit our app directory for dozens of open source integrations to common tools like Jira, Jenkins, GitLab, Trac, Redmine, and Bitbucket, along with interactive bot applications (Hubot, mattermost-bot), and other communication tools (Email, IRC, XMPP, Threema) that are freely available for use and customization.

Where should I install my integrations?¶

For self-hosted deployments in small setups you might host integrations on the same server on which Mattermost is installed. For larger deployments you can setup a separate server for integrations, or add them to the server on which the external application is hosted - for example, if you're self-hosting a Jira server you could deploy a Jira integration on the Jira server itself.

When self-hosting restrictions are less strict, AWS, Heroku, and other public cloud options could also be used.

How do I create a bot account with personal access tokens?¶

See bot accounts documentation to learn more about how to create and manage bot accounts in Mattermost.

Integration

What's the difference between incoming and outgoing webhooks?¶

A webhook is a way for one app to send real-time data to another app.

In Mattermost, incoming webhooks receive data from external applications and make a post in a specified channel. They're great for setting up notifications when something happens in an external application.

Outgoing webhooks take data from Mattermost, and send it to an external application. Then the outgoing webhook can post a response back in Mattermost. They're great for listening in on channels, and then notifying external applications when a trigger word is used.

What is a slash command?¶

A slash command is similar to an outgoing webhook, but instead of listening to a channel it is used as a command tool. This means if you type in a slash command it will not be posted to a channel, whereas an outgoing webhook is only triggered by posted messages.

What does Slack-compatible mean?¶

Slack compatible means that Mattermost accepts integrations that have a payload in the same format as Slack.

If you have a Slack integration, you should be able to set it up in Mattermost without changing the format.

What if I have a webhook from somewhere other than Slack?¶

If you have an integration that outputs a payload in a different format you need to write an intermediate application to act as a translation layer to change it to the format Mattermost uses. Since there's currently no general standard for webhook formatting, this is unavoidable and just a part of how webhooks work.

If there's no translation layer, Mattermost won't understand the data you're sending.

What are attachments?¶

When 'attachments' are mentioned in the integrations documentation, it refers to Slack's Message Attachments. These 'attachments' can be optionally added as an array in the data sent by an integration, and are used to customize the formatting of the message.

We currently don't support the ability to attach files to a post made by an integration.

Where can I find existing integrations?¶

Visit our app directory for dozens of open source integrations to common tools like Jira, Jenkins, GitLab, Trac, Redmine, and Bitbucket, along with interactive bot applications (Hubot, mattermost-bot), and other communication tools (Email, IRC, XMPP, Threema) that are freely available for use and customization.

Where should I install my integrations?¶

For self-hosted deployments in small setups you might host integrations on the same server on which Mattermost is installed. For larger deployments you can setup a separate server for integrations, or add them to the server on which the external application is hosted - for example, if you're self-hosting a Jira server you could deploy a Jira integration on the Jira server itself.

When self-hosting restrictions are less strict, AWS, Heroku, and other public cloud options could also be used.

How do I create a bot account with personal access tokens?¶

See bot accounts documentation to learn more about how to create and manage bot accounts in Mattermost.

In version 5.11 and earlier, follow these steps to create a bot account with personal access tokens:

  1. Create a bot account using any authentication method, including email and password, AD/LDAP, or SAML.

  2. Create a personal access token for the account using the steps here.

    • The steps also outline how to give the account permissions to post to any channel in your Mattermost server, including direct messages, or to any public channel.
  3. Include the personal access token from step 2 as part of the Authorization header on API requests from your integration.

    • To confirm the token works, you can have your bot make a simple GET request to /api/v4/users/me with the Authorization:bearer in the header. If it returns a 200 with the bot's user object in the response, the API request was made successfully.

How do I create a bot account without personal access tokens or webhooks?¶

Deployments that cannot create bot accounts via webhooks due to security reasons and do not want to use personal access tokens with no expiry time, can use the following approach:

  1. Create a bot account using a secure email and strong password.

  2. Manually add the account to all teams and channels it needs access to. If your deployment has a lot of teams or channels, you may create a CLI script to automate the process.

    • In a testing environment, you may also make the bot account a System Admin, giving the bot permissions to post to any channel. Not recommended in production due to potential security vulnerabilities.
  3. Provide the email and password to your integration, and store it in a secure location with restricted access.

  4. Have your integration use the email and password with an /api/v4/login endpoint to retrieve a session token. The session token is used to authenticate to the Mattermost system.

    • Set up your bot to make an HTTP POST to your-mattermost-url.com/api/v4/users/login with a JSON body, including the bot account's email and password.

      where we assume there is a Mattermost instance running at http://localhost:8065.

    • If successful, the response will contain a Token header and a user object in the body:

      The bot should retrieve the session token from the Token header and store it in memory for use with future requests. Purchase outlook 2018.

    Note: Each session token has an expiry time, set depending on the server's configuration. If the session token your bot is using expires, it will receive a 401Unauthorized response from requests using that token. When your bot receives this response, it should reapply the login logic (using the above steps) to get another session token. Then resend the request that received the 401 status code.

  5. Include the Token as part of the Authorization header on API requests from your integration.

    • To confirm the token works, you can have your bot make a simple GET request to /api/v4/users/me with the Authorization:bearer in the header. If it returns a 200 with the bot's user object in the response, the API request was made successfully.

Note: The Mattermost development team is also working on an API developer token, which allows you to authenticate the bot account via the API token rather than retrieving a session token from a user account.

How should I automate the install and upgrade of Mattermost when included in another application?¶

Automating Mattermost installation within another application:

  1. Review the Mattermost installation guides to understand configuration steps of the production deployment.
  2. Install Mattermost files to a dedicated /opt/mattermost directory by decompressing the tar.gz file of the latest release for your target platform (for example linux-amd64).
  3. Review Configuration Settings in config.json and set your automation to customize your Mattermost deployment based on your requirements.
  4. For directory locations defined in config.json, such as the location of the local file storage directory (./data/) or logs directory (./logs), you can redefine those locations in your config.json settings and move the directories.
    • All other directories should remain as they are in /mattermost.
  5. Test that your Mattermost server is running with your new configuration.
  6. Also, from the command line run ./bin/mattermost-version to test that the command line interface is functioning properly.

Automating Mattermost upgrade within another application:

  1. Review the upgrade guide for an overview of the upgrade procedure.
  2. Create automation to upgrade to the next Mattermost versions:
    • Back up the config.json file to preserve any settings a user may have made.
    • Back up the ./data directory if local storage is used for files.
    • Replace the contents of /mattermost directory with the decompressed contents of the latest release.
    • Restore config.json and ./data to their previous locations (which may have been overwritten).
    • If you need to overwrite any config.json parameters use a sed command or similar tool to update config.json
    • Starting the Mattermost server to upgrade the database, config.json file, and ./data as necessary.
  3. Optionally the upgrade procedure can be chained so users can upgrade across an arbitrary number of Mattermost versions rather than to just the latest release.

If you're on our Rising star price plan you can connect WhatsApp to your Paldesk account and give your customers the option to reach your team directly from their phones. With over 1.5 billion users worldwide, WhatsApp is the number one messaging app on the planet. Link it with your Paldesk account to drastically increase your accessibility. Paldesk currently supports a direct WhatsApp integration (via Twilio) as well as Whatsapp as an external channel.

Slack Whatsapp Integration Meaning

You can access the WhatsApp integration here, and learn how to set it up below!

WhatsApp via Twilio (direct integration with Paldesk)

To send and receive WhatsApp messages in Paldesk, you will need a Twilio Account and a Twilio number with SMS and MMS capabilities. Here's how you should set it up:

Step 1. If you already have a WhatsApp business number, you can port your existing number to Twilio. It must be a Twilio registered number either way.

Step 2. Make sure your new Twilio number is approved by WhatsApp. When you are all set with your Twilio number, you can request access. You can find all the related information in Twilio Docs.

Step 3. Once your request has been approved, you should see your WhatsApp number under the 'ProgrammableSMS – WhatsApp Enabled Senders' in your Twilio Console dashboard.

Step 4. When you click on it, you should enter your WhatsApp Business Details. To send and receive messages with that number, you should add the Paldesk webhook (https://paldesk.io/api/twilio/webhook) to the 'When a message comes in' field in your WhatsApp configuration.

Step 5. Finally, you will need to configure your WhatsApp integration via Twilio in Paldesk. Have your Twilio Number, Twilio Account SID, and Twilio AuthToken ready. You can find all this information on the main dashboard of your Twilio Console.

Note: The format of the phone number can only contain a '+' sign and numbers (no whitespaces or braces, slashes, or brackets).

Step 6. Copy your Account SID, Auth Token and your number and go back to your Paldesk dashboard.

Image 3. Information you'll need to copy and then paste into Paldesk

Step 7. In your Paldesk dashboard, go to Administration – Channels – WhatsApp. Click on the + icon in the upper right corner to create a new Twilio integration.

Step 8. Paste the Twilio SID, Twilio AuthToken, and enter your Twilio number in the required fields. Finally, assign your new channel to a group of agents in your Paldesk team. You can also enter a welcome and a wait message that will be displayed to your customers when they start a new chat with your support team. Save changes when you're done.

Image 4. New WhatsApp via Twilio configuration in Paldesk

Step 9. Go to Administration – Embeddable elements – Website widget – Channels tab. Select WhatsApp (via Twilio) and save changes. Once you've done that, a WhatsApp icon will appear on your chat widget.

Important: If you have previously added WhatsApp as an external channel, once you create a WhatsApp via Twilio integration, it will automatically replace the external channel in your widget administration. Your Twilio number will appear in the box (under 'External channels'), instead of any other external WhatsApp number you may have previously linked to your Paldesk account.

Image 5. Your new WhatsApp via Twilio integration with Paldesk

How does the direct WhatsApp integration work?

When customers click on the icon, they will be redirected to the WhatsApp desktop / mobile app, and they can message your team directly from their WhatsApp account. Your linked business number will appear as the recipient, and they will be able to message your team directly from their WhatsApp app.

Image 6. New WhatsApp via Twilio message form the customer's perspective

Your agents will be able to reply to WhatsApp messages directly from their Paldesk dashboard. Your agents will be able to see the sender's number and respond directly from their Live. Here's what that message will look like in your Paldesk account:

Since Twilio supports audio messages and images, your customers can send you voice messages, images, and files. Here's what that looks like from their perspective:

Image 8. Customer sending you voice messages and images

Cod waw demo zombies. Once they've sent you those attachments, your team will see them as links. When an agent clicks on a link, they'll be able to access the image or voice message in a new window. For example:

Twilio supports the following formats:

  • Images: JPG, JPEG, PNG
  • Audio: MP3, OGG, AMR
  • Documents: PDF
  • Video: MP4

Read more about it here.

A few important things to consider:

Firstly, WhatsApp messages in Paldesk are charged by Twilio according to their fees, and Paldesk has no responsibility for the charges from Twilio or price changes. You can see Twilio API for WhatsApp beta pricing here.

Furthermore, when a customer sends a message to your WhatsApp Business number, it opens a 24 hour time window in which you can freely send an unlimited number of messages to that customer.

Finally, in order to reply to customers who haven't sent you a message within the last 24 hours, you'll need to use WhatsApp approved message templates. You can read all about how to create and use templates in the official Twilio Docs.

WhatsApp as an external channel

Slack Whatsapp Integration Tutorial

If you don't have a Twilio number, you can always add WhatsApp as an external channel. This means your visitors and clients can still reach out to you through WhatsApp, but the conversations will take place outside of Paldesk, directly in your WhatsApp desktop or mobile app. Here's how you can set it up in two easy steps!

Step 1. Go to Administration – Embeddable elements – Website widget – Channels. After that, scroll down to external channels and check the box next to the Whatsapp label, as seen below:

Step 2. Add your phone number and save changes. As a result, a WhatsApp icon will appear on your chat widget.

Image 11. WhatsApp on widget, as an external channel

Finally, when customers click on the WhatsApp icon on your widget, they will be able to send you a message from their WhatsApp account. However, if you add WhatsApp as an external channel, messages will not be forwarded to your Paldesk account, and you will be replying from WhatsApp instead.

And that's how you can set up a WhatsApp integration with Paldesk! If you come across any issues, reach out to us via live chat at paldesk.com or email us at support@paldesk.com. We'll be more than happy to help you set things up!

WhatsApp integration was last modified: October 15th, 2020 by

Slack Whatsapp Integration Software





broken image