Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
152 lines
5.7 KiB
Plaintext
152 lines
5.7 KiB
Plaintext
---
|
|
title: Forward a Shared Inbox from Google Workspace
|
|
description: Send mail from a Google Group into a Twenty email channel.
|
|
---
|
|
|
|
An email channel gives your workspace a shared address, like `sales@yourcompany.com`. Mail sent to that address has to reach Twenty somehow.
|
|
|
|
On Google Workspace that address is almost always a **Google Group**. You connect it by adding Twenty's private forwarding address as a member of the group. Every message the group receives is then copied to Twenty, and your team continues to receive it as before.
|
|
|
|
<Note>
|
|
This applies to new mail only. Twenty will not see messages the group received
|
|
before you set this up.
|
|
</Note>
|
|
|
|
## Before you start
|
|
|
|
You need two things:
|
|
|
|
- **Access**: you must own the group, or be a Super Admin or Groups Admin in Google Workspace.
|
|
- **A group that accepts outside addresses**: Twenty's forwarding address is external, so the group has to accept external members and accept mail from outside your company. Part 2 covers both.
|
|
|
|
## Part 1: Create the channel in Twenty
|
|
|
|
1. Go to **Settings → Communication**.
|
|
2. Click **Add email channel**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/03-twenty-add-email-channel.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
3. In **Source Email Address**, type the group address, for example `sales@yourcompany.com`.
|
|
4. In **Display Name**, type the name recipients see.
|
|
5. Click **Save**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/04-twenty-new-channel-form.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
6. Twenty now shows a **Forwarding address**. It looks like `ch_2cd282d193b5@inbound.twenty.com`. Click **Copy**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/05-twenty-forwarding-address.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
<Note>
|
|
Each channel gets its own forwarding address. Never point two groups at the
|
|
same one, or their mail will land in the same place.
|
|
</Note>
|
|
|
|
## Part 2: Check the group's settings
|
|
|
|
Two settings decide whether this works at all. Set them correctly before you continue.
|
|
|
|
1. Open [Google Groups](https://groups.google.com) and click your group.
|
|
2. Click **Group settings** in the left sidebar.
|
|
3. Find **External members** and turn **Allow external members** on.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-03-allow-external-members.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
Google turns this off for the whole organization by default, so expect it to be locked the first time. If you see the notice shown above, only a Workspace admin can unlock it, by allowing group owners to add external members across the organization. Ask them, then return here.
|
|
|
|
4. Scroll down to **Who can post** and drag the slider all the way to the right, onto the globe. That is **Anyone on the web**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-04-who-can-post.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
Without this, mail from outside your company never reaches the group, so it never reaches Twenty either. This is also blocked across the organization by default, and again only an admin can change it.
|
|
|
|
5. Click **Save changes**.
|
|
|
|
<Warning>
|
|
If the group carries Google's **Security** label, stop here. Google does not
|
|
allow non-Google accounts in a security group, and the label is permanent once
|
|
applied. Create a new group without it.
|
|
</Warning>
|
|
|
|
## Part 3: Add Twenty to the group
|
|
|
|
1. Click **Members** in the left sidebar.
|
|
2. Click **Add members**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-02-members-add-button.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
3. Paste the forwarding address you copied from Twenty into **Group members**.
|
|
4. Leave **Subscription** on **Each email**. This is what makes Google send every message through.
|
|
5. Leave **Directly add members** ticked, so Google adds the address rather than sending an invitation that cannot be accepted.
|
|
6. Click **Add members**.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-05-add-forwarding-address.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
That completes the setup. Twenty is now a member of the group like any other.
|
|
|
|
## If you do not have a group yet
|
|
|
|
1. In [Google Groups](https://groups.google.com), click **Create group**.
|
|
2. Fill in the **Group name** and the **Group email** prefix.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-01-create-group.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
|
|
3. Click **Next** twice, then **Create group**.
|
|
4. Now follow Part 2 and Part 3.
|
|
|
|
## Part 4: Test it
|
|
|
|
Send an email from an outside address (a personal Gmail works) to `sales@yourcompany.com`. It should appear in Twenty within a minute or two.
|
|
|
|
## Troubleshooting
|
|
|
|
<Accordion title="An error occurred: 1 user is outside of your organization">
|
|
The group does not accept external members. Return to Part 2, step 3. If the
|
|
setting is locked, only a Workspace admin can unlock it.
|
|
|
|
<img
|
|
src="/images/user-guide/emails/inbound-channels/google-06-external-member-error.png"
|
|
style={{ width: '100%' }}
|
|
/>
|
|
</Accordion>
|
|
|
|
<Accordion title="The group receives mail but Twenty does not">
|
|
Open the member in the group and check its subscription is **Each email**, not
|
|
**No email**, **Digest** or **Abridged**.
|
|
</Accordion>
|
|
|
|
<Accordion title="Colleagues' emails arrive but customers' emails do not">
|
|
**Who can post** is not set to **Anyone on the web**. See Part 2, step 4.
|
|
</Accordion>
|
|
|
|
<Accordion title="The channel receives mail but cannot send">
|
|
Receiving and sending are separate. Sending requires your domain to be
|
|
verified under the channel's **Sending domain** section, which means adding
|
|
the DNS records Twenty lists there.
|
|
</Accordion>
|
|
|
|
Using a different provider? See [Microsoft 365](/user-guide/calendar-emails/how-tos/forward-a-shared-inbox-from-microsoft-365) or [any other mail provider](/user-guide/calendar-emails/how-tos/forward-a-shared-inbox-from-any-mail-provider).
|