A Conversation Builder represents a conversation that is about to be created, fetched, or updated. You can use this object to set up or modify a conversation before showing it. Note: any changes you make here will not be sent to TalkJS immediately. Instead, instantiate a TalkJS UI using methods such as Session.createInbox.

Methods

sendMessage

Sends a text message in a given conversation.

setAttributes
setParticipant

Sets a participant of the conversation.

Properties

custom
CustomData
optional
Allows custom conversation metadata to be stored in the form { [name: string]: string }
photoUrl
string
optional
An optional URL to a photo which will be shown as the photo for the conversation.
subject
string
optional
An optional conversation subject which will be displayed in the chat header.
welcomeMessages
Array<string>
optional
Messages which are sent at the beginning of a chat. In this case the messages will appear as system messages.

Method Details

sendMessage

conversationbuilder.sendMessage(text, options)
Sends a text message in a given conversation.

Parameters

text
string
options
SendMessageOptions

Returns

Promise<void>

setAttributes

conversationbuilder.setAttributes(attributes)

Parameters

attributes
Partial<ConversationAttributes>

ConversationAttributes

custom
CustomData
optional
Custom metadata that is stored with the convesation
photoUrl
string
optional
The URL of a photo to be used for this conversation in the TalkJS UI in case there are more than 2 participants (TalkJS shows the photo of the other participant in a 1-on-1 conversation)
subject
string
optional
A human-readable subject of the conversation. Supports formatted links in a Markdown-style syntax, e.g. Beautiful <https://example.com/booking/18644|home by the sea>!. URLs and email addresses are made clickable, and emojis made to work cross-platform.
welcomeMessages
Array<string>
optional
Messages which are sent at the beginning of a chat. In this case the messages will appear as system messages.

Returns

void

setParticipant

conversationbuilder.setParticipant(user, settings)
Sets a participant of the conversation.

This method is idempotent and can be called multiple times.

Parameters

user
User

A User object that identifies the person who is a participant of the conversation. The user is uniquely identified by their id; all other fields (name, photo etc) are overwritten in the TalkJS database each time they change.

settings
Partial<ParticipationSettings>
optional

An optional setting of participation, can be an initial access right or if user should be notified.

ParticipationSettings

access
"Read" | "ReadWrite"
optional
Specifies the participant's access permission for a conversation. See ConversationBuilder.setParticipant
notify
boolean
optional
Specifies the participants's notification settings. See ConversationBuilder.setParticipant

Returns

void