> ## Documentation Index
> Fetch the complete documentation index at: https://docs.custral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact methods

> Choose how teammates reach each other from a profile: Slack, Teams, email, or your own links and webhooks.

A teammate's profile has a **Contact** button. What it offers is up to your
workspace's admins, under **Settings → Team → Contact methods**: the ways your
connected apps provide, plus links and webhooks of your own.

<Tip>
  Try a custom link in a [sandbox](/start/sandboxes/overview) first. The editor previews the link it will build before
  you save.
</Tip>

***

## The built-in methods

| Method | Comes from | What it does | On by default |
| - | - | - | - |
| **Send email** | Custral | Opens a new email to them in Custral. | Yes |
| **Message on Slack** | [Slack](/integrations/slack) | Opens your Slack DM with them. Custral finds them in Slack by their work email. | Yes |
| **Send through the Custral Slack app** | [Slack](/integrations/slack) | You write the message in Custral; Custral's Slack app sends it to them, saying it's from you. | No |
| **Chat on Teams** | Microsoft Teams | Opens a Teams chat with them, by email. Needs no connection. | No |

A method from an app only appears once that app is connected. Until then its
row says so, and its switch can't be turned on.

## Adding your own

**Add method** makes one of two kinds:

* **Link**: an address built from the person's details. Put the details in
  double braces:

  | Insert | Becomes |
  | - | - |
  | `{{email}}` | their work email |
  | `{{name}}` / `{{firstName}}` | their name |
  | `{{links.discord}}` | the link they saved under that name on their profile |

  `https://discord.com/users/{{links.discord}}` shows **Discord** for everyone who saved a Discord
  link, and is hidden for everyone else. Links must start with `https://`,
  `mailto:`, `tel:`, `slack:` or `msteams:`.

* **Webhook**: Custral posts the sender, the recipient and the message to an
  `https://` address you choose, signed so your tool can check it came from us.
  The signing secret is shown **once**, when you save. See the
  [webhook reference](/dev/webhooks/contact-methods).

Drag rows to set the order everyone sees, and use the switch to turn a method
off without deleting it. Every change saves straight away.

## Who can change them

Only workspace admins. A webhook sends teammates' names and messages to an
outside address, so it's held to the same bar as any other outbound webhook.
Everyone can **use** the methods that are on.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Message on Slack doesn't appear for someone">
    Custral finds them in Slack by their **Custral email**. If they use a different email in Slack,
    or aren't in the connected Slack workspace, the method is hidden for them. Someone who joins Slack
    shows up within an hour.
  </Accordion>

  <Accordion title="A custom link is missing for some people">
    A link is hidden for anyone missing a value it inserts. If it uses `{{links.discord}}`, only
    people who saved a link named Discord in **Edit profile** get it.
  </Accordion>

  <Accordion title="My link won't save">
    It must start with an allowed scheme written out in full (`https://…`), not a `{{…}}`. That stops a
    profile value from choosing what kind of link opens.
  </Accordion>

  <Accordion title="The webhook says it didn't accept the message">
    Your endpoint answered with something other than a 2xx, or took longer than 10 seconds. Check it
    accepts `POST` with a JSON body. Addresses on private networks are refused.
  </Accordion>

  <Accordion title="I lost the webhook secret">
    It's only shown once. Delete the method and add it again to get a new one, then update your
    endpoint.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Teammate profiles" icon="id-card" href="/team/users/profiles">
    Where the Contact button lives.
  </Card>

  <Card title="Contact method webhooks" icon="code" href="/dev/webhooks/contact-methods">
    The payload and how to verify the signature.
  </Card>

  <Card title="Slack" icon="slack" href="/integrations/slack">
    Connecting Slack.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.