[!WARNING]
undefinedThis project is no longer maintained.undefined
@productdevbook/chatwootis discontinued. Please migrate to
undefinedahizeundefined — a zero-dependency,
tree-shakeable, SSR-safe TypeScript wrapper that unifies 18 live-chat
providers (including Chatwoot) behind a single API, with first-class
Vue and Nuxt adapters.
- Chatwoot adapter:
ahize/chatwoot- Vue:
ahize/vue- Nuxt:
ahize/nuxtExisting versions on npm will remain available but are frozen. No
further releases, fixes, or issue responses are planned. Feel free to
fork if you want to continue the work.
This module productdevbook team created.
pnpm install @productdevbook/chatwoot
yarn install @productdevbook/chatwoot
npm install @productdevbook/chatwoot
add Main.ts
import { createChatWoot } from '@productdevbook/chatwoot/vue'
const chatwoot = createChatWoot({
init: {
websiteToken: 'b6BejyTTuxF4yPt61ZTZHjdB'
},
settings: {
locale: 'en',
position: 'left',
launcherTitle: 'Hello Chat'
},
partytown: false,
})
app.use(chatwoot)
export default defineNuxtConfig({
modules: [
'@productdevbook/chatwoot'
],
chatwoot: {
init: {
websiteToken: 'b6BejyTTuxF4yPt61ZTZHjdB'
},
settings: {
locale: 'en',
position: 'left',
launcherTitle: 'Hello Chat',
// ... and more settings
},
// If this is loaded you can make it true, https://github.com/nuxt-modules/partytown
partytown: false,
}
})
Add app.vue or add wherever you want.
<script setup lang="ts">
const { isModalVisible, toggle, toggleBubbleVisibility, popoutChatWindow } = useChatWoot()
</script>
<template>
<div class="flex space-x-3">
<div>{{ isModalVisible }}</div>
<button @click="toggle('open')">
open
</button>
<button @click="toggle('close')">
close
</button>
<div class="flex space-x-3">
<button @click="toggleBubbleVisibility('hide')">
hide
</button>
<button @click="toggleBubbleVisibility('show')">
show
</button>
<button @click="popoutChatWindow()">
open popup
</button>
</div>
</div>
</template>
| Option | Type | Description | Default |
|---|---|---|---|
| websiteToken | string |
The token given to you when you create a chat widget. | |
| baseUrl | bool |
Your site’s domain, as declared by you in Chatwoot’s settings | https://app.chatwoot.com |
useChatWoot() accepts some
| Option | Type | Description |
|---|---|---|
| isModalVisible | boolean |
This chat will show you its open status. |
| toggle | 'open' or 'close' - Function |
You can open and close the chat |
| setUser | key: string, args: ChatwootSetUserProps - Function |
You can send user information to chatwoot panel. |
| setCustomAttributes | attributes: { [key: string]: string } - Function |
You can send custom attributes to chatwoot panel. |
| setConversationCustomAttributes | attributes: { [key: string]: string } - Function |
You can send conversation custom attributes to chatwoot panel. |
| deleteCustomAttribute | key: string - Function |
You can delete custom attributes to chatwoot panel. |
| setLocale | local: string - Function |
Change widget locale |
| setLabel | label: string - Function |
You can send label to chatwoot panel. |
| removeLabel | label: string - Function |
You can delete label to chatwoot panel. |
| reset | Function |
You can reset all settings. |
| toggleBubbleVisibility | 'hide' or 'show' - Function |
You can set the speech bubble’s hide state. |
| popoutChatWindow | You can open the conversation as a popup. |
corepack enable (use npm i -g corepack for Node.js < 16.10)pnpm installpnpm dev:preparepnpm dev to start playground in development modeThanks to @surmon-china, this project loadScript function is heavily inspired by surmon-china.github.io.
MIT License © 2022-PRESENT productdevbook
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.