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
23 Aug 2023: Block a user
3 Aug 2023: Suggested replies
2 Aug 2023: PUT and PATCH functions now available within stacks
8 Jul 23: Your name, your number
19 Jul 23: More freedom and flexibility with code blocks
12 Jul 2023: Start a stack from another stack
14 Jul 23: Get your stack results in BigQuery
4 Jul 2023: Better chat and insights performance
30 June 2023: Stacks logging API (beta)
19 Jun 2023: Add notes on the Canvas
14 Jun 2023: Speed up conversation assignment
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!
30 Mar 2023: Integrate with Huggingface.co
28 Mar 2023: Important changes to template categories
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
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
27 Jun 203: Visualised connections
19 Sept 2022: More fields available in the Data Export API
1 Sept 2022: Learn to Build with Stacks.
13 Sept: Changes to the contact details API endpoint
7 Sept 2022: Stack improvements
15 Sept 2022: Shorter messages are better
18 Aug 2022: Deprecating Goals
17 Aug 2022: Build for your audience
16 Aug: Pick a date range
28 July 2022: Custom voice notes
19 Aug 2022: Better human support with Message Collections
4 July 2022: Faster insights
14 July 2022: Get Stacking! Build more complex services.
29 Jun 2022: Reminders are live!
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
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
2 Nov 2021: Playbooks Launch
20 Sept 2021: The end of Chatbase
9 Sept 2021: Data Export API
9 August 2021: Thread data export
22 June 2021: You know best!
21 June 2021: Sample content for templates
17 June 2021: Important security improvements
8 June 2021: Community Playbooks
18 March 2021: Improved billing transparency
17 March 2021: Share the amazing work you do
8 March 2021: Contextual replies and profile settings that suit you
22 Feb 2021: Button automation
18 Feb 2021: Updates to the fallback channel
17 Feb 2021: Contacts and labels data added to BQ
10 Feb 2021: Temporary limitations while we do a Search infrastructure upgrade
5 Feb 2021: Snappier and easier-to-use modals
3 Feb 2021: Add media to templates
27 Jan 2021: Add media or stickers to custom replies
21 Dec 2020: A last big release to celebrate the year
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
19 October 2020: Hidden numbers by default
8 September 2020: Contact Profile
11 August 2020: Learn in Turn
3 August 2020: Add a list to your Exact match automations
10 July 2020: WhatsApp profile and Login
15 July 2020: Data storage and rejection reasons
30 July 2020: Manage your message template spend
What is Google-backed?
Can I get a free trial?
What is Turn.io?
Can I use Turn.io in my country?
What is an MAU (Monthly Active User)?
What are the options to get data from Turn.io?
Why can't I see chats that I've sent messages to?
Can I edit and/or delete a custom profile field?
How to change our chat service display name?
How to setup subscription billing
How to work as a team
My sandbox isn't working? How do I connect?
My emoji trigger isn't working?
Why is my video not sending?
I found a bug..
What are 'goals'?
How do I extract data out of Turn.io?
Can I format content with bold, italics etc?
How do I add other contact fields?
Can I attach more than one image, audio clip, video or document to a message?
What media can I use in messages?
What are 'collections'?
What is the difference between a member and an admin?
Example of user-initiated vs business-initiated conversations
Are all conversations paid?
How are conversations charged?
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?
What number do I need for my service?
Help! What is a Facebook Business Manager Account?
Help! What is a BSP?
Help! Our display name got rejected?
Help! What happens if we're not verified within 30 days?
Help! I uploaded the wrong document for Business Verification?
Display name guidelines
Help! We are a government entity, how do we do Facebook business verification?
Get a WhatsApp line: Step-by-step instructions, with a video
Your WABA application checklist
Help! I got an error whilst doing embedded sign-up?
Help! I can see my number in Turn but it's not working?
What is Business Verification?
Help! I'm struggling to get my business verified?
Your Business Verification checklist
Help! The "Start Verification" button is greyed-out?
Help! Why hasn't my display name been approved?
Help! What is two-factor authentication (2FA)?
Help! Can I have a WhatsApp number for a different country than my business registration?
How to use Turn.io
Can I switch between code and canvas stacks?
Save important responses to the contact or as downloadable results
Download and duplicate stacks
How to use the message settings
How do users interact with a stack?
Get building with the no-code Canvas
Where do I start with Build and Stacks?
Build for your audience
Where do I find Stacks documentation?
What can I do with the code version of Build?
What is Build? What are Stacks?
Search and Label
Collections, Assign and Roles
How to add team members?
Search for sent or received or all messages
How to assign or share a conversation
How to create and use collections
How to manage personal information on the helpdesk?
How to get location data over WhatsApp?
How to block a user?
How to send custom voice notes?
How to add a button message
How to upload stickers
How to delete a message that a user sent?
Create your first menu
Structure and plan your content
How to send custom replies
How users engage with content
How to load content
How to send 'Welcome back' message to returning users
Use a follow up timer based on local time
How to set up multiple language automation
How to set up a sequential content delivery experience using Automation and Custom Profile Fields
Triggers explained: Message received is a BUTTON PRESSED...
How to send stickers in automation
Triggers explained: Message received does NOT exactly match...
How to set up a follow-up timer
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 STARTS WITH...
Automation tips & tricks
The available action types
The available trigger types
How to set up advanced automations
How to set up basic automations
Understanding Reminders' statuses and stats
How many people can I send Reminders to?
How to send or schedule a reminder?
Contact search examples
How to add media to a template
How to add buttons to a template
Delete or copy a template
Send message templates to users
Create and submit your template(s) for approval
How to re-connect with users using message templates
Start a thread when a user reply with a button.
Export your thread data
Create a sequential learning experience with Threads
The ABC of threads
How to use personalisation in threads
How to add skip logic to your thread
Different thread card types
How to create a thread
How to log in to your account
Overview of the Turn.io user interface
What is Chat for Impact?
The WhatsApp Business Platform
Conversation-billing changes effective June 1, 2023
Important updates to template categories
Understanding conversation-based pricing
Examples of how to upgrade to the next tier
WhatsApp's quality rating and messaging limits
Message template troubleshooting
Message template rules
Human escalation path required
Reasons why your template(s) gets rejected
You need opt-in to initiate messages
Message types: Session vs. Template messages
Three key rules of engagement
A closer look at the WhatsApp Business API
Connect with your users on chat
Get user consent in a WhatsApp conversation
Use automation to collect opt-in
Manage your online presence by updating your WhatsApp profile
Use the opt-in webform to collect user consent
Great ways of marketing your chat service
Use a ‘wa.me’ link and QR code to market your service
Design an impactful solution
Changing behaviour is difficult. Here's some help!
Varying interpretations of emoji
Create good chat service content
Guiding and tracking
Refining Raw Turn Data in BigQuery
How to top up your 'available amount' for conversations?
Example queries for your data
Understand your BigQuery data and queries
Set up a data connection to BigQuery
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
How to set up a RapidPro integration
Upload and send a sticker via the API
New to webhooks?
How do I create message templates via the API?
Where do I find my credentials for the Message Template API?
Turn.io API documentation
Necesita de adhesión para iniciar mensajes
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
Tres reglas clave de participación
Tipos de mensajes: Mensajes de sesión versus plantilla
Se requiere un proceso humano de escalamiento
Una introducción a la WhatsApp Business API
Echar un vistazo más de cerca a la WhatsApp Business API
Updated by Neelke Stadler
Once you've successfully connected your Turn.io account to BigQuery your data will be live streamed to data tables. The tables can be used for storage and/or to analyse and visualise insights from your data.
If you haven't connected your Turn.io account to BigQuery you should first read how to set up a connection. Once you've successfully established a connection you will benefit from knowing the following:
Your data will be streamed to a dataset named after your service's WhatsApp number.
Go to the console in Google Cloud Platform, click on the menu and scroll down to the Big Data section to find BigQuery.
Make sure you have selected the correct project and you should be able to see your data like this:
Eleven tables are currently streamed to BigQuery:
- Attachments: This table contains URLs to your media.
- Cards: This table contains all your pre-loaded content.
- Chats: This table contains information on users that are engaging with your service.
- Contacts. This table contains profile details for your contacts.
- Contact Details: This is a legacy table and can be ignored by most. The Contacts table now has this information.
- Faqs: This is a legacy table and can be ignored by most. The Cards table now has this information.
- Messages: This table contains information on individual messages.
- Message Attachments: This table links the Messages and Attachments tables.
- Message Tags: This table contains data of all your labelled messages.
- Number Tags: This table contains data on all the labels for your account.
- Statuses: This table contains all the message statuses (sent, read, delivered).
The tables contain your raw data. To help you make sense of it we provide definitions for the most important data fields in our Turn.io Data Dictionary.
We created a separate article with example queries to assist you.
The first time that you connect to BigQuery your historic data will be uploaded.
Depending on the size of your service to date this may take a while. The status of the upload will be available in the status table in the Turn UI under Settings > Integrations. Once the historic data is uploaded your data will continue to be live streamed. Any error messages will be communicated in the status table.
Due to the data being live streamed from Turn.io to BQ any updates to records will be written as new rows.
This has the implication that your SQL queries should use
count(distinct) to determine the unique number of users and /or messages.
Download media assets using Turn.io's media API.
The URL in your BigQuery attachment table will point at the media API from where you can download media assets. Keep in mind that the same authentication methods apply for the media API as for the rest of the API. An authentication token can be generated in the Settings section. Using a valid token to authenticate using an `Authentication: Bearer <insert your token>` HTTP header one can download the media asset. The media API is documented at https://whatsapp.turn.io/docs/index.html#retrieving-media.