---
id: object/page/7100
type: object
title: Page 7100 "Contact Sync"
summary: Page 7100 "Contact Sync" in Base Application (Microsoft.CRM.Outlook). 3 public procedures. Introduced in BC28, still in BC30.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: "28"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: eeae80de075812808506a6d89af3c016a028d46e5463645c392a2e4a96288fc8
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CRM/Outlook/ContactSync.Page.al
    title: src/Layers/W1/BaseApp/CRM/Outlook/ContactSync.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10778
    - change/bcapps/9966
object_type: page
object_id: 7100
name: Contact Sync
caption: Synchronize contacts
namespace: Microsoft.CRM.Outlook
app: Base Application
extends: null
first_version: "28"
last_version: "30"
present_in:
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 17
  events: 0
  subscribers: 0
  controls: 15
  actions: 4
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 7100 "Contact Sync"

> Page 7100 "Contact Sync" in Base Application (Microsoft.CRM.Outlook). 3 public procedures. Introduced in BC28, still in BC30.

Base Application · Microsoft.CRM.Outlook · captioned "Synchronize contacts" · BC28-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CRM/Outlook/ContactSync.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Synchronize contacts |
| PageType | NavigatePage |
| UsageCategory | Administration |
| ApplicationArea | All |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| WelcomeGroup | WelcomeText | `WelcomeTextTxt` | — |
| ContactFilterGroup | Choose contacts | `ContactFilterText` | Specify filters on different fields, such as salesperson code, to reduce the list of contacts that will be synchronized. Leave this blank to synchronize all contacts. |
|  | Contacts folder | `SelectedFolderName` | Specifies the name of the folder in Outlook and Teams which will be used for synchronization. This helps segregate your business contacts from any other contacts. |
|  | PreviewText | `PreviewTextLbl` | — |
|  | LastsyncDateFolderTime | `GetLastSyncDateTime()` | — |
| ClearSyncDetailsGroup | Force full sync | `FullSyncOption` | When this is enabled, Business Central will synchronize contacts no matter when they were last modified. This may take longer, but can overcome some synchronization issues. |
|  | ClearSyncDetailsField | `ClearSyncDetailsLbl` | — |
| SyncOptionsGroup | What to update | `SyncDirection` | Specifies the direction of synchronization. If you only update Outlook and Teams, no changes will be made to the contact list in Business Central. If you update both, the contacts from the specified folder in Outlook and Teams will also be copied back to Business Central and other users may be able ... |
|  | SyncToM365Button | `GetContactsToAddOutlookLabel()` | — |
|  | SyncToBCButton | `GetContactsToAddBCLabel()` | — |
| ReadyGroup | ReadyText <small>obsolete Pending 29.0; #if not CLEAN29</small> | `ReadyTextTxt` | — |
| FinishGroupFinal | SyncTimeField | `GetSyncTimeLabel()` | Specifies the time taken to complete the synchronization. |
|  | ContactsSentToM365Field | `GetContactsSentToM365Label()` | Specifies the number of contacts sent to Outlook and Teams. |
|  | ContactsSentToBCField | `GetContactsSentToBCLabel()` | Specifies the number of contacts sent to Business Central. |
|  | ContactsFailedField | `GetContactsFailedLabel()` | Specifies the number of contacts that failed to synchronize. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Back | — |  |
|  | Next | — |  |
|  | Synchronize | — |  |
|  | Close | — |  |

## Procedures

- `PopulateFolderOptions(var TempFolder: Record "Contact Sync Folder" temporary)`
- `AddFolderOption(var TempFolder: Record "Contact Sync Folder" temporary; FolderId: Text; DisplayName: Text)`
- `GetSelectedFolderId(): Text`

Plus 14 local procedures.

## Triggers

OnOpenPage

## Recent changes

- 2026-08-31 [#10778 [Backport 29.x] Harden Contact Sync delta URL and ownership checks (#9966)](../../changes/bcapps/10778.md) (releases/29.x, BC29, fix)
- 2026-08-27 [#9966 Harden Contact Sync delta URL and ownership checks](../../changes/bcapps/9966.md) (main, BC30, fix)

## Across versions

- Present in: BC28-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Contact Sync")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
