***
id: 0c462af0-2a49-4025-9c55-af77c7de2391
title: Chat
slug: /chat
sidebar-title: Overview
position: 0
subtitle: 'Programmable, integrated, low-latency Chat APIs and SDKs'
description: 'Programmable, integrated, low-latency Chat APIs and SDKs'
-----------------------------------------------------------------------
The SignalWire Chat API is a flexible IP Message Bus that you can use to send and receive messages.
## PubSub
The most basic chat functionality is provided in a **PubSub** environment, which has two main components: **Channels** and **Messages**. Messages are published to a channel and the new message event is available to any subscribers. This means the publishers and subscribers are isolated and do not need to know where the messages are coming from or being read. If this sounds like the messaging model that meets your needs, check out our PubSub service.
Create PubSub Tokens
Integrate PubSub into your web app
Manage subscriptions and event listeners
## Chat
**Chat** service extends PubSub with a third main component: **Members**.
You can create channels, members can subscribe to those channels, and they can send attributed messages that every other subscriber will be able to see. Members can even carry state. If this model better suits your needs, Chat is for you!
Create Chat Tokens
Integrate Chat features into any web app
Manage members, subscriptions and event listeners, and send messages to a particular channel.
## Frequently asked questions
Chat can be used to send and receive any JSON-serializable object.
Yes! Channels are essentially group chats that members can join and exchange messages in. If you intend to create group chats that use SMS as well, please read the next frequently asked question.
While Chat does not support sending/receiving via SMS by default, using RELAY Realtime SDK along with our [Messaging API](/docs/platform/messaging) you can add SMS support (or any other format of communication) to it!
Yes! You can use Chat along with [Dialogflow](https://cloud.google.com/dialogflow#chatbots-for-b2c-conversations) to create chatbots according to your needs.
Using [RELAY Realtime Server SDK](/docs/server-sdk/node/reference/chat) you can listen for the "message" event and log each message accordingly.