import {
Body,
Container,
Head,
Html,
Img,
Link,
Preview,
Text,
Hr,
Heading,
Button,
Section,
} from '@react-email/components'
import * as React from 'react'
import { env } from '@typebot.io/env'
type Props = {
firstName?: string
}
const imagesBaseUrl = `${env.NEXTAUTH_URL}/images/emails/V2dot22Update`
export const V2dot22Update = ({}: Props) => (
Hi,
We started 2024 on fire. What a productive month! Some of it has been
possible thanks to the new in-house framework to build new blocks:{' '}
The Forge
So I want to thank all new contributors for their work this month. 🙏
New graph gestures
At last! You can select multiple groups, move them together, and
duplicate them, accross all typebots.
3 new blocks in town
We've added 3 new blocks to the library:
QR Code: generate a QR
code image URL on the fly to use in your chat. Super useful for
typebots displayed on physical devices in a store or at an event.
Mistral: an alternative
to the OpenAI block. It uses the same parameters. This block allows
you to consume Mistral AI models.
Dify.AI: craft your own
AI agent on Dify and consume it directly on Typebot to have the best
of both worlds.
OpenAI block: Ask assistant
Probably the easiest way to use OpenAI's new Assistant features.
Drag and drop a block, plug a few things and you're good to go ✨
Other notable improvements
⏰ You can now select a time window in the Analytics graph for a
finer analysis.
⌨️ Improved typing emulation settings. You can now set a global wait
time between each messages.
🧠 Tools / functions support in OpenAI block
🔒 New "Allowed origins" typebot settings to make sure your typebot
can only be ran from your domain.
🗄️ New visibility option in the File upload block. You can now set
your uploaded file URL as private.
👨💻 You can now use the `setVariable` function in any custom code to
set the value of a specific variable.
Feel free to reply to this email, I read and answer all of them. ❤️