# Refresh contact details

{/* AUTO-SYNCED SOURCE: this page lives in apps/app/src/modules/db-leads/docs/ and is mirrored into the docs app by `bun sync:module-docs`. Edit it in the module, not in apps/docs. */}

<Lead>
A grown book has dead phone numbers and stale addresses. Instead of guessing, ask the person: the **data request** sends a personal link they use to check their own details. What comes back lands directly on the record.
</Lead>

## How it works

<Steps>
  <Step title="Send the request">
    In the contact panel the **Data request** section sits right below the contact details. The button sends an email in your office's name, with your sender and your branding.
  </Step>
  <Step title="They fill it in">
    The link leads to a plain page on your office's own address. It asks for email (required), phone, address, and one non-binding question: "Are you considering a sale in the foreseeable future?" with four answers from "Yes, currently" to "No".
  </Step>
  <Step title="The answer arrives">
    The details land on the contact. In the panel you see per request what is open and what has been answered.
  </Step>
</Steps>

<Tip title="Why the substantive question comes last">
Somebody who has already confirmed three fields will answer the fourth. If the selling question came first, a share of people would drop out there, and then even the contact details you would have got without any pushback are missing.
</Tip>

## The consent

At the end there is an explicit consent to being contacted. Its wording is **stored verbatim** and moves into your workspace's central contact policy as a permission.

This is not decoration: a book with documented consents is legally a completely different thing from one without. The notice about the right to withdraw is included, and the path to it genuinely exists, through the unsubscribe link in every promotional message.

<Callout tone="note" title="A marketing objection overrides everything">
If a person has objected to being contacted, no request goes out. The gate sits in the sending path, not in the tool, and therefore applies to every message the platform sends.
</Callout>

## Reminder and withdrawal

<DefinitionList>
  <DefItem term="Reminder">If no answer arrives within seven days, **one** reminder goes out. Nothing after that.</DefItem>
  <DefItem term="Withdraw">You can revoke an open request. The link becomes invalid immediately.</DefItem>
  <DefItem term="Response rate">Only shown once a minimum number of requests has been sent. A rate out of three requests is not a rate, it is chance.</DefItem>
</DefinitionList>

## Requirements

<Checklist>
  <ChecklistItem>The contact has an email address. Without it the button is missing.</ChecklistItem>
  <ChecklistItem>You hold the **Edit contacts** permission (`db-leads.update`).</ChecklistItem>
  <ChecklistItem>The contact has not objected to being approached.</ChecklistItem>
</Checklist>

## Further reading

<CardGrid>
  <Card title="Customer view" href="/tools/db-leads/kundenansicht">Where requests sit on the contact.</Card>
  <Card title="Ownership" href="/tools/db-leads/objekte">Whatever you learn about the property, record it there.</Card>
  <Card title="Rules" href="/tools/db-leads/regeln">Trigger data requests automatically.</Card>
</CardGrid>
