26 Feb 2024: "First Message Received At" profile field
20 Feb 2024: Mentions
16 Feb 2024: Give us feedback
13 Feb 2024: More filtering options in triggers
6 Feb 2024: Improve team work with notes
6 Feb 2024: Update profile fields block
30 Jan 2024: Convert Threads to Journeys
29 Jan 2024: Warning emails when conversation credits are low
24 Jan 2024: Journeys are the way forward
24 Jan 2024: Pin your favourite profile fields
16 Jan 2023: Voice note transcriptions
16 Jan 2024: Branch the journey
9 Jan 2024: The conversation is yours
19 Dec 2023: Triggers in Build
12 Dec 2023: Never start from scratch
22 Nov 2023: The new Inbox
26 Jul 2023: Uninterrupted conversations
18 Oct 2023: An improved billing system
18 Oct 2023: Interruption-free conversations on Turn
18 Oct 2023: More joy on the Canvas!
16 Oct 2023: A reimagined Turn Helpdesk
13 Sep 2023: A dedicated Unassigned collection
12 Sep 2023: Templates on the Canvas
5 Sep 2023: Hide personal information
30 Aug 2023: A series of Trust and Safety Playbooks
3 Aug 2023: Suggested replies
23 Aug 2023: Block a user
29 Jun 2022: Reminders are live!
2 Aug 2023: PUT and PATCH functions now available within stacks
14 Jul 23: Get your stack results in BigQuery
19 Jul 23: More freedom and flexibility with code blocks
8 Jul 23: Your name, your number
12 Jul 2023: Start a stack from another stack
4 Jul 2023: Better chat and insights performance
30 June 2023: Stacks logging API (beta)
27 Jun 203: Visualised connections
14 Jun 2023: Speed up conversation assignment
19 Jun 2023: Add notes on the Canvas
15 May 2023: The latest Canvas improvements
26 May 2023: Microsoft Single Sign-on
24 Apr 2023: Logging in Stacks
20 Apr 2023: The no-code Canvas is live!
8 June 2021: Community Playbooks
28 Mar 2023: Important changes to template categories
30 Mar 2023: Integrate with Huggingface.co
23 Mar 2023: Answer conversations on mobile
20 Mar 2023: Act on the user's last interaction
17 Mar 2023: Scan the list for unassigned chats
10 Mar 2023: Template with buttons in stacks
9 March 2023: More data in BigQuery!
16 Feb 2023: More possibilities for scheduling stacks
13 Feb 2023: Automatically mark messages as DONE
3 Feb 2023: Search with quick picks or date&time filters
17 Jan 2023: Add hyperlinks to Playbooks
11 Jan 2023: Export specific responses from Stacks
2 Nov 2021: Playbooks Launch
18 Nov 2022: Build with feedback
21 Nov 2022: A new look user interface!
11 Oct 2022: Building blocks
13 Oct 2022: Reminders are in Beta!
10 Oct 2022: New Turn.io Developer Docs
19 Sept 2022: More fields available in the Data Export API
15 Sept 2022: Shorter messages are better
13 Sept: Changes to the contact details API endpoint
7 Sept 2022: Stack improvements
1 Sept 2022: Learn to Build with Stacks.
18 Aug 2022: Deprecating Goals
17 Aug 2022: Build for your audience
19 Aug 2022: Better human support with Message Collections
16 Aug: Pick a date range
28 July 2022: Custom voice notes
14 July 2022: Get Stacking! Build more complex services.
4 July 2022: Faster insights
8 Jun 2022: Track your conversations
3 May 2022: Reach out with Reminders
21 Apr 2022: Payments made easy!
3 Apr 2022: Follow up at an exact local time
20 Mar 2022: Small changes, big wins!
8 Mar 2022: Security enhancements
16 Feb 2022: Add resources to Playbooks and export Contacts
18 March 2021: Improved billing transparency
30 July 2020: Manage your message template spend
26 Jan 2022: Try out emojis in buttons, but no more 'templates' in sandboxes
5 Jan 2022: Use buttons in threads
23 Nov 2021: Button messages
20 Sept 2021: The end of Chatbase
9 Sept 2021: Data Export API
9 August 2021: Thread data export
17 June 2021: Important security improvements
22 June 2021: You know best!
21 June 2021: Sample content for templates
17 March 2021: Share the amazing work you do
8 March 2021: Contextual replies and profile settings that suit you
17 Feb 2021: Contacts and labels data added to BQ
22 Feb 2021: Button automation
18 Feb 2021: Updates to the fallback channel
11 August 2020: Learn in Turn
8 September 2020: Contact Profile
19 October 2020: Hidden numbers by default
27 Jan 2021: Add media or stickers to custom replies
3 Feb 2021: Add media to templates
5 Feb 2021: Snappier and easier-to-use modals
10 Feb 2021: Temporary limitations while we do a Search infrastructure upgrade
21 Dec 2020: A last big release to celebrate the year
3 August 2020: Add a list to your Exact match automations
2 Dec 2020: Delete a template, get more insights and send stickers via the API
17 Nov 2020: Delete a user message
23 October 2020: Insights
15 July 2020: Data storage and rejection reasons
10 July 2020: WhatsApp profile and Login
What is an MAU (Monthly Active User)?
What is Google-backed?
Can I get a free trial?
What is Turn.io?
Can I use Turn.io in my country?
How to help a user that is stuck within a Journey?
What are the options to get data from Turn.io?
Why can't I see chats that I've sent messages to?
What media can I use in messages?
Can I edit and/or delete a custom profile field?
How to change our chat service display name?
What are 'collections'?
How to setup subscription billing
How do I extract data out of Turn.io?
Why is my video not sending?
My sandbox isn't working? How do I connect?
How to work as a team
My emoji trigger isn't working?
Can I attach more than one image, audio clip, video or document to a message?
I found a bug..
What are 'goals'?
Can I format content with bold, italics etc?
How do I add other contact fields?
What is the difference between a member and an admin?
How are conversations charged?
Example of user-initiated vs business-initiated conversations
Are all conversations paid?
Can I send a free-form message?
Can I use WhatsApp Groups on the API?
Can you give me examples of approved message templates?
Why has my template(s) been rejected?
What languages are allowed for message templates?
Help! What is two-factor authentication (2FA)?
Get a WhatsApp line: Step-by-step instructions, with a video
What number do I need for my service?
Help! What is a BSP?
Help! What is a Facebook Business Manager Account?
Help! We are a government entity, how do we do Facebook business verification?
Help! Can I have a WhatsApp number for a different country than my business registration?
Help! I can see my number in Turn but it's not working?
Help! What happens if we're not verified within 30 days?
Help! Our display name got rejected?
Help! Why hasn't my display name been approved?
Help! The "Start Verification" button is greyed-out?
Help! I uploaded the wrong document for Business Verification?
Help! I'm struggling to get my business verified?
Help! I got an error whilst doing embedded sign-up?
Your Business Verification checklist
What is Business Verification?
Display name guidelines
Your WABA application checklist
How to use Turn.io
Get started with journeys
How to use the Branch block in journeys?
Can I switch between code and no-code journeys?
How to set up time-based triggers?
Save important responses to the contact or as downloadable results
How to download and duplicate code journeys
How to use the Settings sidebar?
Where do I start with code journeys?
Where do I find code journey documentation?
Build chat journeys specific to your audience
What can I do with the code journeys?
Search and Label
Collections, Assign and Roles
How to create and use collections
How to add team members?
Search for sent or received or all messages
How to assign or share a conversation
Seamless handover between a human and a bot
How to manage personal information on the helpdesk?
How to block a user?
How to get location data over WhatsApp?
How to send custom voice notes?
How to add a button message
How to send custom replies
How to upload stickers
Create your first menu
How to load content
How to delete a message that a user sent?
Structure and plan your content
How users engage with content
Contact search examples
Understanding Reminders' statuses and stats
How to send or schedule a reminder?
How many people can I send Reminders to?
Create and submit your template(s) for approval
How to re-connect with users using message templates
How to add media to a template
Delete or copy a template
How to add buttons to a template
Send message templates to users
How to send 'Welcome back' message to returning users
Use a follow up timer based on local time
How to set up basic automations
Triggers explained: Message received is a BUTTON PRESSED...
How to set up a follow-up timer
How to set up multiple language automation
How to set up a sequential content delivery experience using Automation and Custom Profile Fields
How to send stickers in automation
How to set up advanced automations
The available action types
The available trigger types
Triggers explained: Message received from a specific CONTACT PROFILE......
Triggers explained: Message received is AUTOMATICALLY labelled...
Triggers explained: Message received is from a specific COUNTRY...
Triggers explained: Message received EXACTLY matches...
Triggers explained: Message received does NOT exactly match...
Triggers explained: Message received STARTS WITH...
Automation tips & tricks
How to create a thread
Different thread card types
Start a thread when a user reply with a button.
Export your thread data
Create a sequential learning experience with Threads
How to use personalisation in threads
The ABC of threads
How to add skip logic to your thread
Overview of the Turn.io user interface
How to log in to your account
What is Chat for Impact?
Chat for Impact Community hub
Chat for Impact
An introduction to the WhatsApp Business Platform
Why the world loves WhatsApp
The WhatsApp Business Platform
Message template rules
Important updates to template categories
Conversation-billing changes effective June 1, 2023
Message types: Session vs. Template messages
WhatsApp's quality rating and messaging limits
Understanding conversation-based pricing
You need opt-in to initiate messages
Message template troubleshooting
A closer look at the WhatsApp Business API
Three key rules of engagement
Human escalation path required
Examples of how to upgrade to the next tier
Reasons why your template(s) gets rejected
Connect with your users on chat
Get user consent in a WhatsApp conversation
Use the opt-in webform to collect user consent
Manage your online presence by updating your WhatsApp profile
Use automation to collect opt-in
Great ways of marketing your chat service
Use a ‘wa.me’ link and QR code to market your service
Design an impactful solution
Create good chat service content
Changing behaviour is difficult. Here's some help!
Varying interpretations of emoji
Guiding and tracking
How to top up your 'available amount' for conversations?
Refining Raw Turn Data in BigQuery
Understand your BigQuery data and queries
Set up a data connection to BigQuery
Example queries for your data
How to set up a RapidPro integration
Getting Suggested Replies with ChatGPT
Getting data from the Contacts API endpoint
Replacing the Contact Export API
Notify your team over email when someone needs urgent help
Where do I find my credentials for the Message Template API?
How do I create message templates via the API?
Upload and send a sticker via the API
New to webhooks?
Turn.io API documentation
Se requiere un proceso humano de escalamiento
Calificación de calidad y límites de mensajería de WhatsApp
Actualizaciones de los Términos de Servicio y la Política de Privacidad de WhatsApp
Necesita de adhesión para iniciar mensajes
Tipos de mensajes: Mensajes de sesión versus plantilla
Tres reglas clave de participación
Una introducción a la WhatsApp Business API
Echar un vistazo más de cerca a la WhatsApp Business API
Updated by Nathan Begbie
Setting Up the Custom Integration
First, navigate to "Settings" and then click the "Integrations" tab
Next, from the drop button "Add an Integration" select "Custom Integration"
At this point you need to provide a couple of fields:
Name: How you will identify the relevant integration.
URL: this is the endpoint that your custom integration will call with various JSON payloads. Your service can only receive payloads at this single endpoint.
HTTP Authentication type and
API Token: these features are required when setting up a custom integration with Turn.io, but they relate specifically to how your service works. The
HTTP Authorization type can either be
TOKEN. This just means that, say for example you chose
BEARER and you set the
API Token to
123, then whenever Turn makes a request to your service, it will include the HTTP Header
Authorization: Bearer 123 in every call. This means that you can be sure that the service is able to verify that the requests are coming from Turn. If however, you are just testing out this functionality, and you do not want to implement any authentication in your application, you do not have to worry about what you select or enter in these fields (but you will need to enter something).
Once you select 'Create Integration', Turn.io will attempt to send a handshake to the service that you just created.
Implementing Your Custom Integration
One of the ways in which you can create a custom integration library is by using the Turn npm package. The library requires that you give it the
SECRET that Turn generates when it creates the integration. It uses this secret to authenticate the calls from Turn.
A very detailed breakdown of the calls and responses that are available to you are given in the developer documentation, which we strongly recommend that you read.
Other Examples in Python
There are a number of repos that we have created as examples to try out and experiment with. They are ready-to-run examples with Repl.it Click here to see them all.
If you'd like to walk through some of the functionality available with custom integrations, you can use some template examples as a starting point with the:
turnio-duckduckgo-replit - An example Turn.io suggested reply integration on Replit. This will return the abstract from the DuckDuckGo API as a suggested reply in the Turn.io UI
turnio-integration-replit - An example Turn.io UI integration on Replit. This extends the Turn UI with a quick reply, custom profile information, and action menus.