Zoom
Add, use and remove the DeutschlandGPT integration for Zoom Team Chat and Zoom Meetings
DeutschlandGPT works with Zoom. Once you connect your own Zoom account, you can ask the DeutschlandGPT assistant to summarise a Team Chat channel, post a message, look up your meetings or schedule a new one, and you can build a workflow that starts automatically when a new message arrives in one of your channels.
This page is the complete guide for the integration: how to add it, what each permission is used for, what every feature does, and how to remove it again.
Authentication: OAuth 2.0, per user. You install the integration for yourself; no administrator installs it for the whole Zoom account. Every request runs with your own Zoom authorisation, so the integration can only reach the channels, messages and meetings you can reach yourself. DeutschlandGPT requests no administrator or account-wide permissions and never reads another user's data.
DeutschlandGPT is a product of DeutschlandGPT GmbH. It is an independent integration that works with Zoom; it is not built, certified or endorsed by Zoom Communications, Inc.
Before you start
- A DeutschlandGPT account you can sign in to.
- A Zoom account.
- For the Team Chat features: Zoom Team Chat must be enabled for your Zoom account, and you must be a member of at least one channel. Without a channel, the read features correctly return an empty list.
- For the meeting features: no extra setup. Any Zoom licence that lets you schedule meetings yourself is enough.
- Depending on your Zoom account's app policy, a Zoom administrator may have to approve DeutschlandGPT before you can authorise it. You will see a request-for-approval screen instead of the consent screen if that applies to you.
Adding the app
You add the integration from inside DeutschlandGPT. It takes about a minute.
Open the integrations page. Sign in to DeutschlandGPT and open Settings → Integrations. If you mainly work with workflows you can use Workflows → Integrations instead. Both pages manage the same connections.
Open Zoom. Find Zoom in the list of available integrations and click it. You can use the search field at the top of the page.
Start the authorisation. Under Connections, click Add connection. DeutschlandGPT redirects you to Zoom.
Review the permissions and allow access. Zoom shows its own authorisation page, listing the permissions DeutschlandGPT asks for. They are explained one by one in Permissions and data handling. Click Allow to continue, or Deny to cancel. If you click Deny, you return to DeutschlandGPT and no connection is created.
Confirm the connection. Zoom sends you back to DeutschlandGPT and a connection card appears, labelled with the email address and display name of the Zoom account you just authorised. That label is what lets you tell several connected Zoom accounts apart.
You can repeat these steps to connect more than one Zoom account, for example a work account and a project account. Every chat request and every workflow node uses exactly the connection you select, never "any" connection.
If the authorisation fails or no connection appears, go to Troubleshooting further down this page. For problems that are not specific to Zoom, see the general Troubleshooting guide.
Permissions and data handling
DeutschlandGPT requests six permissions. Each one backs exactly one feature. No other Zoom endpoint is called, and nothing is requested "for later".
Two rules apply to all six:
- Encryption. Anything DeutschlandGPT stores is encrypted in transit (TLS) and at rest. Your Zoom access and refresh tokens are additionally encrypted at the application level before they are written to the database, and they are never sent to your browser or to an AI model.
- No background collection. Apart from the message polling you configure yourself in a workflow trigger, DeutschlandGPT calls Zoom only while handling a request you made. There is no crawler and no bulk export of your Zoom data.
user:read:user: read your profile
- What we retrieve: your Zoom user ID, account ID, email address, display name, first and last name, from your own profile only.
- Why: to label the connection with the account you authorised, so you can tell several connected Zoom accounts apart, and to identify your account when Zoom notifies us that you removed the app. It also resolves the "me" reference the other calls use.
- Stored: yes. Zoom user ID, account ID, email address and display name are stored with the connection.
- Retention: until you delete the connection or remove the app in Zoom. Then it is deleted (see Removing the app).
team_chat:read:list_user_channels: list your chat channels
- What we retrieve: the ID, name and type of the Team Chat channels you are a member of.
- Why: to fill the channel picker you choose from in a chat request or a workflow node, and to power the List Channels action.
- Stored: no. The list is fetched when you open a channel picker or run the action and is used for that request only. A channel ID you selected is saved as part of your workflow configuration, because the workflow needs to know which channel you picked.
- Retention: not stored, apart from a channel ID you deliberately configured in a workflow.
team_chat:read:list_user_messages: read messages in a channel
- What we retrieve: messages from a channel you selected: message ID, text, sender email address, sender display name and timestamp. Optionally limited to a time range you specify.
- Why: so the assistant can summarise or answer questions about a channel you named, and so a workflow can react to a new message.
- Stored: not as a separate copy of your Zoom data. The messages are fetched for the request you made. What remains is the result inside your own chat transcript, or in the run history of the workflow that processed it, exactly like any other content in a chat.
- Retention: as long as you keep that chat or that workflow run. Delete the chat or the run and the content goes with it. Your organisation's retention settings apply on top; see Data storage.
team_chat:write:user_message: send a message
- What we retrieve: nothing. This permission only writes.
- Why: to post a message you asked for into a channel you selected, either from a chat request or from a workflow. In a chat, the message text is shown to you for approval before it is sent.
- Stored: the message you sent stays in the chat transcript or workflow run that created it. Nothing extra is stored on the Zoom side of the integration.
- Retention: as long as you keep that chat or workflow run.
meeting:read:list_meetings: list your meetings
- What we retrieve: your own meetings with ID, topic, start time, duration and join URL. Never another user's meetings.
- Why: to answer questions such as "what does my day look like" and to let a workflow post an agenda.
- Stored: no separate copy. Results appear in the chat or workflow run that requested them.
- Retention: as long as you keep that chat or workflow run.
meeting:write:meeting: schedule a meeting
- What we retrieve: nothing. This permission only writes.
- Why: to create a meeting with the topic, start time, duration, timezone and agenda you specified, and to return the join link so you or a workflow can share it.
- Stored: the meeting ID and join link appear in the chat or workflow run that created the meeting.
- Retention: as long as you keep that chat or workflow run.
There is no access to cloud recordings, webinars, Zoom Phone, Zoom Rooms, other users' chats or meetings, or any account-level or administrative data.
Usage
The same six operations are available in two places: as tools the assistant can use in a chat, and as nodes in the workflow builder. Both always run under a connection you select.
Approval before anything happens
Every Zoom action needs your approval. Reads and writes alike are shown to you first, together with the integration, the action and the exact values that will be used, and nothing runs until you approve. You can optionally approve a single action, or all Zoom actions, for the current chat. Both choices apply only to that chat and can be withdrawn there under Auto-approved for this chat.
Using Zoom in a chat
Prerequisites: a Zoom connection, and agent mode enabled in the chat. Open the Active integrations panel below the message field and make sure Zoom is switched on.
Then just ask, for example:
- "Which Zoom account am I connected with?"
- "List my Zoom Team Chat channels."
- "Summarise the last 24 hours in the Zoom channel Sales."
- "Send 'I'll be five minutes late' to the Zoom channel Standup."
- "Show my upcoming Zoom meetings."
- "Schedule a Zoom meeting 'Quarterly review' tomorrow at 15:00 Europe/Berlin for 30 minutes."
Using Zoom in a workflow
Add a Zoom trigger or action node in the workflow builder, select your Zoom connection, and fill in the fields. Channel fields are dropdowns populated from your own channels.
Trigger: New Message in Channel
Use case: a support channel should not be watched by hand. The workflow starts on every new message, has the assistant draft an answer, and posts it back or opens a ticket.
Permissions used: team_chat:read:list_user_channels for the channel picker, team_chat:read:list_user_messages to read the message.
Prerequisites: membership in the channel you want to monitor.
| Input | Required | Description |
|---|---|---|
| Channel | Yes | The Team Chat channel to monitor, from your own channels |
| Output | Type | Description |
|---|---|---|
messageId | string | Unique message ID |
message | string | Message text |
sender | string | Email address of the sender |
senderName | string | Display name of the sender |
dateTime | string | Timestamp (ISO 8601) |
channelId | string | Channel the message was sent in |
The trigger polls the channel you selected. A message that was already processed does not start the workflow a second time.
Action: Get Current User
Use case: put your own Zoom email address into a later step, or check which account a workflow runs as before it sends anything.
Permission used: user:read:user.
Prerequisites: none beyond a Zoom connection. This action takes no input.
| Output | Type | Description |
|---|---|---|
id | string | Zoom user ID |
email | string | Email address |
displayName | string | Display name |
firstName | string | First name |
lastName | string | Last name |
accountId | string | Zoom account ID |
success | bool | Whether the call worked |
error | string | Error message on failure |
Action: List Channels
Use case: post the same announcement to every channel you are in, or look up a channel ID without hard-coding it.
Permission used: team_chat:read:list_user_channels.
Prerequisites: Team Chat enabled. This action takes no input.
| Output | Type | Description |
|---|---|---|
channels | array | Channels with id, name and type |
totalCount | number | Number of channels returned |
success | bool | Whether the call worked |
error | string | Error message on failure |
Action: List Messages
Use case: every evening, collect the day's messages from a project channel and have the assistant write a summary for the team.
Permission used: team_chat:read:list_user_messages.
Prerequisites: membership in the channel. Timestamps are in UTC.
| Input | Required | Description |
|---|---|---|
| Channel | Yes | The channel to read from |
| From | No | Start of the time range, ISO 8601 UTC (e.g. 2026-06-01T00:00:00Z) |
| To | No | End of the time range, ISO 8601 UTC |
| Output | Type | Description |
|---|---|---|
messages | array | Messages with id, message, sender and date_time |
totalCount | number | Number of messages returned |
success | bool | Whether the call worked |
error | string | Error message on failure |
Action: Send Message
Use case: tell a team channel that a long-running workflow finished, or post the summary the workflow just produced.
Permission used: team_chat:write:user_message.
Prerequisites: membership in the target channel. Messages are limited to 4096 characters.
| Input | Required | Description |
|---|---|---|
| Channel | Yes | The channel to post into |
| Message | Yes | The message text, max 4096 characters |
| Output | Type | Description |
|---|---|---|
messageId | string | ID of the posted message |
success | bool | Whether the call worked |
error | string | Error message on failure |
Action: List Meetings
Use case: post your own agenda into a chat channel every morning, or check for a clash before a workflow schedules something new.
Permission used: meeting:read:list_meetings.
Prerequisites: none beyond a Zoom connection.
| Input | Required | Description |
|---|---|---|
| Type | No | Which set to list: Scheduled, Live, Upcoming, Upcoming (all) or Previous |
| Output | Type | Description |
|---|---|---|
meetings | array | Meetings with id, topic, start_time, duration and join_url |
totalCount | number | Number of meetings returned |
success | bool | Whether the call worked |
error | string | Error message on failure |
Action: Create Meeting
Use case: a lead books a slot in a form, and the workflow schedules the call and sends the join link automatically.
Permission used: meeting:write:meeting.
Prerequisites: none beyond a Zoom connection. Omit the start time for an instant meeting.
| Input | Required | Description |
|---|---|---|
| Topic | Yes | Meeting title |
| Start Time | No | ISO 8601 start time (e.g. 2026-06-10T15:00:00Z) |
| Duration (minutes) | No | Length of the meeting |
| Timezone | No | IANA timezone for the start time (e.g. Europe/Berlin) |
| Agenda | No | Meeting description |
| Output | Type | Description |
|---|---|---|
meetingId | string | ID of the created meeting |
joinUrl | string | Link participants use to join |
startUrl | string | Link the host uses to start the call |
startTime | string | Scheduled start time |
success | bool | Whether the call worked |
error | string | Error message on failure |
Removing the app
You can remove access from either side, and both routes end in the same state. One of them is enough.
Remove the app in Zoom
- Sign in to your Zoom account and open the Zoom App Marketplace.
- Click Manage → Added Apps, or search for the DeutschlandGPT app.
- Select the DeutschlandGPT app.
- Click Remove and confirm.
Zoom then notifies DeutschlandGPT that you removed the app. DeutschlandGPT deletes the connection belonging to your Zoom account together with the stored tokens, and confirms the deletion back to Zoom through Zoom's data compliance interface. You do not have to do anything inside DeutschlandGPT afterwards.
Delete the connection in DeutschlandGPT
- Open Settings → Integrations and open Zoom.
- On the connection card, open the … menu, choose to delete the connection, and confirm.
DeutschlandGPT revokes the tokens at Zoom and then deletes them, so the authorisation also disappears from your Zoom account.
What stops working
- DeutschlandGPT can no longer call Zoom on your behalf. The tokens are revoked and deleted.
- Zoom is no longer offered as an integration in your chats.
- Workflow nodes that used the connection stop working and report a missing connection until you select a new one. Workflows that depend on the Zoom trigger stop firing, and messages posted in the meantime are not processed later.
- Nothing changes inside Zoom itself. Your channels, messages and meetings stay exactly as they are, including meetings a workflow created and messages it posted.
What happens to your data
- Deleted immediately when the app is removed or the connection is deleted: the OAuth access and refresh tokens, the Zoom user and account ID used to identify your account, and the Zoom email address and display name used as the connection label. Deletion happens while the removal is processed, not on a delayed schedule, and well inside the 10-day window Zoom requires. DeutschlandGPT then confirms the deletion to Zoom.
- Never stored as a separate copy: your channel lists, channel messages and meetings. They are fetched from Zoom for the request you made.
- Kept until you delete it: results that were shown in a chat stay in that chat's transcript, and results from a workflow run stay in that run's history, because they are part of your own working history rather than a store of Zoom data. Delete the chat or the workflow run to remove them. Organisation retention rules apply on top; see Data storage.
- Deleting your DeutschlandGPT account or your organisation removes all connections, chats and workflow run history, including everything that ever came from Zoom.
Troubleshooting
| Symptom | What to do |
|---|---|
| Zoom's authorisation page asks for administrator approval | Your Zoom account restricts third-party apps. Ask your Zoom administrator to approve DeutschlandGPT, then start again at Add connection. |
| The authorisation fails or no connection appears afterwards | Start again from Settings → Integrations in the same browser, without switching accounts in between. An authorisation left open for a long time expires and has to be restarted. |
| An action fails with an authentication error | The authorisation was removed in Zoom, or it expired because it went unused for more than 90 days. Delete the connection and add it again. |
| Chat channels are not shown, or the picker stays empty | Team Chat is not enabled for your Zoom account, or the authorised account is not a member of any channel. Join or create a channel in Zoom, then reopen the picker. |
| A message list is empty although the channel has messages | The time range you gave contains no messages. Timestamps are interpreted as UTC, so check for a timezone offset, or leave the range empty. |
| A meeting cannot be created | Check the start time format (ISO 8601, for example 2026-06-10T15:00:00Z) and that the timezone is a valid IANA name such as Europe/Berlin. Also check that your Zoom licence allows you to schedule meetings, and that the connected Zoom account is the one you expect. |
| Sending a message fails with a length error | Team Chat messages are limited to 4096 characters. Shorten the text or split it into several messages. |
| An action reports a missing permission | The authorisation was granted before this feature existed. Delete the connection and add it again, so the current set of permissions is granted. |
| Zoom is not offered in a chat | Agent mode is off, or Zoom is switched off in the Active integrations panel of that chat. |
| A workflow does not react to a new message | Check that the workflow is active, that the intended channel is selected in the trigger, and that the message was posted after the workflow was activated. |
Still stuck? See the general Troubleshooting guide or contact support.
FAQ
Do I need to be a Zoom administrator to add the integration? No. Every user authorises their own Zoom account. Some Zoom accounts restrict third-party apps, and in that case your Zoom administrator has to approve DeutschlandGPT once, after which you authorise it yourself.
Can DeutschlandGPT see my colleagues' messages or meetings? No. All access runs through your own authorisation, so the integration reaches exactly what you can reach yourself. There are no administrative or account-wide permissions.
Does the integration read my channels in the background? No. Zoom is called while a request you made is being handled. The only recurring access is the workflow trigger you configured yourself, which checks the channels you selected for new messages.
Where is my data stored, and is it encrypted? Processing happens on European infrastructure. Everything is encrypted in transit and at rest, and your Zoom tokens are additionally encrypted at the application level. See Permissions and data handling and Data storage.
How do I withdraw access? Either delete the connection in DeutschlandGPT or remove the app in the Zoom App Marketplace. Both revoke the tokens. See Removing the app.
How long do you keep my data after I remove the app? Tokens and account identifiers are deleted while the removal is processed. Content that appeared in your chats or workflow runs stays until you delete those, or until your organisation's retention period expires.
Does the integration cost anything? The integration itself is included in DeutschlandGPT; there is no separate charge for Zoom. Your DeutschlandGPT plan and, if applicable, the usage-based pricing of workflow runs apply as usual. Zoom bills you separately for your own Zoom licence.
Can I connect more than one Zoom account? Yes. Add one connection per account. Every chat request and workflow node uses the connection you select.
Do I need a paid Zoom plan? No, as long as your Zoom account can do what you ask for: Team Chat must be enabled for the chat features, and your licence must let you schedule meetings for the meeting features.
Contact support
- Support form: beacon.deutschlandgpt.de/feedback. This is the fastest route, and it works without an account.
- Email: info@deutschlandgpt.de
- Inside the app: the question mark button in the bottom-right corner of every page, then Send feedback, type Support. See Support.
- Support hours: Monday to Friday, 09:00 to 17:00 CET / CEST (Europe/Berlin), excluding public holidays in Germany.
- First response: within one business day. Reports about a failing authorisation or a broken integration are treated as priority.
- Service status: status.deutschlandgpt.de
When you write to us about Zoom, please include the email address of the Zoom account you connected, what you tried to do, and the exact error message. That usually removes a whole round trip.