First steps
User Data
- Responsive Email Editor Review
- Designing your email
- Creating Synchronized Modules
- Setting Up Responsive Email Design
- Setting Up Smart Containers
- Creating a Gmail Promotions Annotation
- Adding The Rollover Effect
- Adding Anchor Links
- Module Library
- Adding a Table to an Email
- Adding Custom Fonts
- Creating CTA Button
- Working with Images
- Creating Timer
- Using AI in the Email Editor
- Messenger Protocol Support in Email Clients and Platforms
Omnichannel
- Setting Up Widgets for Your Site
- Widgets Gamification
- Widget Calling
- Setting Up Locations for the Widget Calling Rules
- Storing data from widgets to contact fields
- Using Annoyance Safeguard
- Actions After Subscription
- Replacing Double Opt-In System Workflow
- Creating Pop-ups via Google Tag Manager or WordPress
- Sending Yespo Widget Events to Google Analytics
- Using A/B Tests for Widgets
- Collecting Contact Information Using Request Forms
Automation
- Building and Editing Workflows
- Configuring Workflow Start/Stop Conditions
- Start Block
- Popular Blocks
- Message Blocks
- Using One from Many Message Block
- Contact Blocks
- Conditions Blocks
- Other Blocks
- Message to Segment Blocks
- Time Blocks
- Advanced Workflow Block Parameters
- Setting Up Allowed Send Time
- Using Workflow Launch History
- Webhook Workflows
- Workflow Troubleshooting
- Double Opt-In
- Welcome Сampaign
- Welcome Series Segmented by Category
- Launching a Workflow After a Contact Import
- Regular Workflow for a Segment
- Birthday Campaign
- Linking Workflow to the Button
- Using Variables from Order in Workflow
- Collecting Order Feedback
- Customer Reactivation
- Sending Extra Campaigns
- Sending Reminders at the Time Specified by the User
- Sending Campaign to Those Who Did Not Open the Previous One
- Using A/B Tests In Workflows
Personalization
Analytics
- Email Campaign Report
- Web Push Campaign Report
- Viber Campaign Report
- Mobile Push Campaign Report
- App Inbox Campaign Report
- Telegram Campaign Report
- In-App Report
- Widget Report
- Triggered Campaign Report
- AMP Campaign Report
- SMS Campaign Report
- Multilingual Campaign Report
- Setting up UTM Tags
- Revenue from Campaigns
- Tracking Campaign Performance in Google Analytics 4
- Message Analytics
Multilanguage Campaigns
Events and Behaviour Tracking
Recommendations
API
Security and Compliance
Integrating with Telegram Bot
To send newsletters in your Telegram bot using Yespo, do the following:
1. Create a bot in the @BotFather service, copy the access key, and upload it to Yespo.
2. Configure a service on your side that will accept contact tokens from your bot and pass them to Yespo. You can do this in any way that is convenient for you (see the implementation example at the link).
Access Settings
1. Open @BotFather in Telegram.
2. Send commands
- /start
- /newbot
3. Follow the instructions to set up the bot.
4. After creating the bot, you will receive an access token. Copy it.
5. Go to your Yespo account settings → My bots tab and click Connect Telegram bot.
6. Enter the token in the corresponding field and click Save.
To integrate the already existing bot:
1. Go to My bots tab and click Connect Telegram bot.
2. Click Connect existing bot.
3. Enter the /mybots command in the @BotFather chat, select an existing bot from the list, copy its token, add it to the corresponding field, and click Save.
After connecting the bot, you will receive an application ID (app_uuid) - it must be used in the URL to send a request for adding and updating tokens of your contacts in Yespo: https://yespo.io/api/v1/apps/{app_uuid}/tokens.
Note
The number of subscribers of the Telegram bot is shown to the right of the bot's name.
Creating and Updating Contacts
To add or update contact tokens, use the Add application tokens API method (POST type).
JSON request format:
{
"tokens": [Token]
}
Contact data format in the request:
{
"token": string, // required
// identifiers to search for contact (at least one is required)
"contactId": Long,
"externalCustomerId": string,
"phone": string,
"email": string
}
URL to send the request: /v1/apps/{app_uuid}/tokens
- A contact is created with all identifiers if there is no contact with such identifiers in the system.
- If the identifiers already exist, they are not created or updated.
- Priority of identifiers for searching contacts in the system: contactId → externalCustomerId → phone → email.
- If the highest priority identifier does not match an existing contact, a contact is created with a new identifier and token.
- If the identifier with the highest priority already exists in Yespo, the token will be recorded in the contact card, the remaining identifiers will be ignored. Please note that requests using the Add application tokens method do not update existing tokens, but only create new ones. For example, if two requests with the same email address contain two different tokens, both will be written to the contact card.
To update other contact information, use the Add/update a contact or Add/update contacts methods.
Message Statuses
SENT, FAILED, and CLICKED statuses are tracked.
A token will be removed from the contact card upon receiving the FAILED (Forbidden) status, which is sent when the user blocks the bot.