Tutorial
Add group chat to your Retool app
Sign in
Prerequisites
We assume you are well acquainted with the Retool IDE and have an account. If not, please take a look at the Web apps introduction first.
We assume you are well acquainted with the Retool IDE and have an account. If not, please take a look at the Web apps introduction first.
We need an API key to communicate with the Weavy backend.
For our Weavy component to work, we need an access token from the authentication workflow.
Go to Code
in the left panel, click the +
and select Import Workflow
getAccessToken
WeavyRetoolWorkflow
from the Select Workflow dropdownWorkflow parameters
according to the JSON snippet below.Workflow paramaters
{
"uid" : "{{ current_user.sid }}",
"fullname" : "{{ current_user.fullName }}",
"email" : "{{ current_user.email }}",
"avatar" : "{{ current_user.profilePhotoUrl }}"
}
Run behavior
to Automatic
Save & Run
Make sure you have imported the authentication workflow into Retool following our tutorial before adding Weavy features to your app.
Search for Custom component
in the components search bar.
Drag and drop it onto the canvas and do the following in the inspector:
For Content
;
Model
IFrame Code
Check the following for Interaction
;
Model
with;Model
in the inspector - copy and paste this code
{
"token" : {{ getAccessToken.data.access_token }},
"uid" : "retool-chat-uid"
}
In the IFrame code for the custom component, we'll initiate the Weavy context and pass the access token to the token factory for authentication.
Once authenticated, we can render the chat component from Weavy.
IFrame Code
in the inspector - copy and paste this code
<script src="WEAVY_URL/uikit-web/weavy.js"></script>
<script>
const weavy = new Weavy();
weavy.url = "WEAVY_URL";
window.Retool.subscribe(function (model) {
weavy.tokenFactory = model.token ? async (refresh) => model.token : undefined;
wyChat.setAttribute('uid', model.uid);
});
</script>
<style>
:root {
--wy-theme-color: #3170F9;
--wy-border-radius:8px;
font-family: "Inter var", sans-serif
}
html, body {
padding: 0px;
margin:0px;
height:100%;
}
</style>
<div style="height:100%;display:flex;background:#fff">
<wy-chat id="wyChat" uid=""></wy-chat>
</div>
The Custom Component
with the Chat component should load instantly - but toggle to Preview mode
to see the full experience.
Note that this is fully working now and available for all your users if you want - group chat added, just like that.
We need an API key to communicate with Weavy for authentication, etc
Get answers faster with our tailored generative AI. Learn more about how it works
This is a custom LLM for answering your questions. Answers are based on the contents of the documentation and this feature is experimental.
You're not signed in to your Weavy account. To access live chat with our developer success team you need to be signed in.