1. Introduction
The Google Chat destination allows you to send the contents of a table directly into a Google Chat space. You write the message yourself and choose what goes in it: free text with Google Chat formatting, the current date, and a preview of your data rendered as a table. This makes it easy to share a recurring report — daily sales, weekly KPIs, a list of pending items — with the team that needs it, without anyone having to open a dashboard. In order to properly use the connector, there are a few pre-requisites that need to be fulfilled:- You need a Google Workspace account. Incoming webhooks are not available for personal Google accounts.
- You need permission to create a webhook in the space that will receive the messages.
Google Chat webhooks cannot upload files, so this destination does not attach a CSV or an image. Your data is sent as a preview inside the message itself. If you need the full dataset as a file, consider using the Google Drive or Gmail destinations alongside this one.
2. Create the webhook in your Google Chat space
- Open the Google Chat space that should receive the messages.
- Click the space name at the top to open the menu, then choose Apps & integrations.
- Click Webhooks (or Add webhooks).
-
Give the webhook a name — for example
Nekt— optionally set an avatar URL, and click Save. -
Copy the generated URL. It looks like this:
3. Configure the Google Chat destination
- In the Destinations tab, click on the “Add destination” button located on the top right of your screen. Then, select the Google Chat option from the list of connectors.
-
Click Next and you’ll be prompted to add the connector configuration.
- Webhook URL: the URL you copied in the previous section.
-
Message body: the message to post in the space. You can use the text formatting supported by Google Chat —
*bold*,_italic_,~strikethrough~and monospace — as described in the official Google Chat documentation. Two variables are available: -
Maximum preview size (optional): how many rows
{data_preview}renders. Defaults to 20, and the maximum is 100.Google Chat limits a message to 32,000 characters. If your message goes over that limit, Nekt automatically reduces the number of preview rows so the message can still be delivered, and warns you in the run log. -
Date format (optional): controls the format of the
{datestamp}variable. Defaults to%Y-%m-%d. Uses Pythonstrftimesyntax — for the full list of format codes, see the Python documentation. Common examples: -
Single record input table (optional): when your table has a single record, enable this option to reference its columns in the message using the
{column_name}notation. - Send message with empty data (optional): by default, no message is sent when the table has no records. Enable this option to receive a message anyway.
- Message body (empty data) (optional): the message to post when the table is empty. If left blank, the regular message body is used.
-
Thread key (optional): an arbitrary identifier — for example
daily-metrics-report— that groups every message sent by this destination into the same Google Chat thread, keeping the space organized. Leave it empty to post each run as a new message.
Example with a data preview
Assuming you have a daily metrics table like this:Your message body looks like this:The resulting Google Chat message will be:Example with a single record table
Assuming you have a sales KPIs table with a single record:Enable Single record input table and write the message body like this:The field references are dynamically replaced with the actual values from your table. - Click Next.
4. Select your data to send
-
The next step is letting us know which data you want to send in the Google Chat message. Select the layer and then the desired table.
Only the first rows of the table are rendered in the message, according to the Maximum preview size setting. If you need to communicate a large dataset, filter the table down to the rows that matter, or use a destination that writes files.
- Click Next.
5. Define the trigger
- Describe your destination for easy identification within your organization. You can inform things like what data it sends, to which team it belongs, etc.
- To define your Trigger, consider how often you want this message to be sent to the space. This decision usually depends on how frequently you need the new table data updated (every day, once a week, only at specific times, etc.).
- Click Done.
Check your new destination!
- Once completed, you’ll receive confirmation that your new destination is set up!
- You can view your new destination on the Destinations page. Now, for the message to actually be sent, you have to wait for the pipeline to run. You can monitor it on the Destinations page to see its execution and completion. If needed, manually trigger the pipeline by clicking on the refresh icon. Once executed, your message should appear in the space.
Troubleshooting
If you encounter any issues, reach out to us via Slack, and we’ll gladly assist you!