Zum Inhalt springen
  • Blog
  • Cookie Policy (EU)
  • Datenschutzerklärung
  • EBF Docs
  • Onboarder Source and Target
  • Test
  • EBF product documentation

    Find help using and administering EBF applications

    EBF Contacts

    • Release Notes
    • 01. What is EBF Contacts
    • 02. Requirements and Configuration
    • 03. Get EBF Contacts up and running in few steps
    • 04. App usage by end user
    • 05. Contact
    View Categories
    • Home
    • EBF Docs
    • EBF Contacts

    02. Requirements and Configuration

    12 min read

    02.1. Minimum system version

    EBF Contacts supports the following operating systems:

    • iPhone and iPad: iOS / iPadOS 18 or later
    • Android devices: Android 13 or later
      • Starting with EBF Contacts version 3.2.0, the app requires iOS 26.

    Recommended Setup

    • Keep devices updated to the latest supported OS version.
    • Use a supported UEM (Unified Endpoint Management) solution such as:
      • Microsoft Intune
      • Ivanti / MobileIron
      • Jamf
      • Blackberry
      • Workspace One

    02.2. Caller Identification

    EBF Contacts can identify incoming callers on:

    • iPhones
    • Android phones
    • Android tablets

    Important Requirements

    To make caller identification work correctly:

    • Store all phone numbers in international format.
    • Include the country code.

    Example Germany: +49 221 474550

    Best Practices

    • Avoid local-only numbers such as 0221 474550.
    • Use one consistent number format across all data sources.
    • Verify imported contacts before large deployments.

    02.3. AppConfig

    It is mandatory for EBF Contacts to receive an AppConfig or a Managed-AppConfig from an UEM System (e.g. MobileIron/Ivanti, Microsoft Intune, Jamf). The AppConfig can/must contain the following key/value pairs, where all values are of type „string“:

    Required parameters

    Showing 6 parameters

    Defines the customer or company name displayed in the app configuration.

    Type
    String
    Example
    EBF GmbH
    Notes
    Mandatory for all deployments.

    Defines the customer license key.

    Type
    String
    Example
    97MtLkThSDF…
    Notes
    Contains an expiration date. The app displays an error after expiration. Contact the EBF Sales team for valid keys.

    Defines how many devices may use the app.

    Type
    Enum
    Example
    150
    Notes
    Match this value to the licensed device count.

    Defines the Exchange On-Premise server URL or Microsoft 365 Azure Application ID.

    Type
    URL String
    Example
    https://my-exchange-server.com
    610fc6a9-2659-842e-8733-5ceb3aeda4ac
    Notes
    Exchange requires a full HTTPS URL including protocol. Microsoft 365 requires an Azure Application ID.

    Defines the HubSpot private application token.

    Type
    String
    Example
    pat-eu1-xxxxxxxx
    Notes
    Create a private HubSpot app with the permission crm.objects.contacts.read.

    Defines the downloadable ZIP archive containing CSV or JSON files.

    Type
    URL
    Example
    https://my-server.com/ContactsExport.zip
    Notes
    ZIP files must use HTTPS and contain valid CSV or JSON files.

    No parameters match your search.

    Microsoft 365 Authentication Methods

    Authentication MethodDescriptionBest Use CaseRequired PermissionsLimitations
    User Login AuthenticationUsers sign in with Azure AD username and password.Use when users need personal contacts synchronization.Delegated: Contacts.Read, User.Read, User.ReadBasic.All, User.Read.AllUsers must authenticate manually.
    Anonymous AuthenticationThe app authenticates with Azure Application ID and secret. Users do not sign in manually.Use for easier onboarding, kiosk devices, or users without Azure AD accounts.Application: Contacts.Read, User.Read.AllCannot combine with readPersonalContacts. Secrets require regular renewal.

    Azure App Registration Requirements

    SettingRequired ValueAdditional Details
    Tenant TypeMultitenant or Single TenantDepends on deployment type and tenant parameter usage.
    iOS Redirect URLmsauth.de.ebf.contacts://authConfigure as Public / Native Client redirect URI.
    Android Redirect URLmsauth://de.ebf.contacts/bX7u+szRPaxp7M/Ux+hz8esKB7I=Configure as Public / Native Client redirect URI.
    ADFS RequirementForms-Based Authentication enabledRequired for successful Azure authentication on devices using ADFS.

    Common Optional Parameters

    Showing 37 parameters

    Reads specific Exchange address lists instead of the default GAL.

    Type
    JSON
    Default
    N/A
    Notes
    Requires useFindPeople=true.

    Merges phone numbers from matching contacts across multiple data sources.

    Type
    Boolean
    Default
    false
    Notes
    Recommended only for environments with 5,000 contacts or fewer.

    Allows users to copy phone numbers and email addresses.

    Type
    Boolean
    Default
    true
    Notes
    Disabling this also disables exportContact.

    Allows custom SSL certificates.

    Type
    Boolean
    Default
    false
    Notes
    Use only with trusted certificates.

    Changes the displayed app title.

    Type
    String
    Default
    EBF Contacts
    Example
    Acme Directory
    Notes
    Useful for company branding.

    Controls which contact fields appear during incoming calls.

    Type
    JSON
    Default
    Built-in default
    Example
    {
      "givenName": -1,
      "surname": -1,
      "jobTitle": 10,
      "department": 10,
      "companyName": 18,
      "custom1": "(",
      "officeLocation": 15,
      "custom2": ")"
    }
    Notes
    Supports givenName, surname, jobTitle, department, companyName, and officeLocation.

    Disables AppConnect handling when opening the native mail client from EBF Contacts.

    Type
    Boolean
    Default
    false
    Notes
    Recommended if users experience issues opening the native mail client while AppConnect is enabled. Often used together with the mailClient parameter.

    Disables the requirement for users to create and enter an encryption password when starting EBF Contacts.

    Type
    Boolean
    Default
    false
    Notes
    Even when enabled, EBF Contacts still encrypts contact data stored on the device. This setting only removes the user password prompt during app startup.

    Defines how long the app waits before sending another request to the Exchange server after a failed request.

    Type
    String
    Default
    15000
    Example
    30000
    Notes
    Helps reduce server load in unstable network environments. Increase if the Exchange server rate-limits or blocks requests after failures.

    Enables Microsoft 365 delta synchronization.

    Type
    Boolean
    Default
    true
    Notes
    Downloads only changed contacts after the first sync.

    Enables the iOS ContactProvider Extension instead of the default CallKit extension. Synchronizes contact data with the native iOS Contacts framework.

    Type
    Boolean
    Default
    false
    Notes
    Supports approximately 25,000 contact entries. Disable "Allow documents from managed apps to unmanaged apps" to prevent data leakage.

    Known issue in iOS 26.x: removing EBF Contacts does not automatically remove synchronized contacts. Users must disable the ContactProvider Extension before uninstalling. Fixed in iOS 26.4.

    Defines the password policy for the local encryption password.

    Type
    JSON
    Default
    No policy enforced
    Example
    {
      "MaxLength": 16,
      "MinLength": 8,
      "Complexity": 2
    }
    Notes
    Complexity values:
    0 = No requirements
    1 = At least 2 character classes
    2 = At least 3 character classes
    3 = All character classes required

    Encrypts synchronized user profile images stored on the device.

    Type
    Boolean
    Default
    true
    Notes
    Recommended for environments with strict security or compliance requirements.

    Allows exporting contacts to the personal address book.

    Type
    Boolean
    Default
    false
    Notes
    Requires allowCopy=true and enableContactProvider=false.

    Imports all contact entries from the ZIP archive, including entries with duplicate or missing email addresses.

    Type
    Boolean
    Default
    false
    Notes
    Even when enabled, Caller ID can only assign each phone number once. Use carefully — duplicate contacts may appear in the app.

    Enables the optimized Microsoft 365 group synchronization process when using the selectedGroups parameter.

    Type
    Boolean
    Default
    true
    Notes
    Recommended for large address books where only smaller subsets of contacts are synchronized via Azure AD groups.

    Enables additional debug logging.

    Type
    Enum
    Default
    Disabled
    Example
    debug
    Notes
    Users can export logs from the Settings screen.

    Defines which email application EBF Contacts uses when a user selects the "Send Email" action.

    Type
    Enum
    Default
    Native mail app
    Example
    MSOutlookEmailPlusBlackBerryWorkBoxerWorkspaceONE
    Notes
    If empty or missing, EBF Contacts uses the native Mail app on iOS and Gmail on Android. In AppConnect environments, consider enabling closeAppConnect=true.

    Changes Microsoft 365 sync package size.

    Type
    String
    Default
    100
    Example
    500
    Notes
    Works only when deltaEnabled=false.

    Enables anonymous Microsoft 365 authentication.

    Type
    String
    Default
    N/A
    Notes
    Cannot be combined with readPersonalContacts.

    Defines a custom Microsoft Graph filter for synchronizing Microsoft 365 contacts.

    Type
    String
    Default
    N/A
    Example
    proxyAddresses/any(x:startswith(x,'smtp:'))
    and UserType eq 'Member'
    and AccountEnabled eq true
    Notes
    Requires deltaEnabled=false. EBF Contacts downloads all contacts and applies the filter locally. Incorrect filters may exclude valid users.

    Defines how many parallel requests EBF Contacts sends to the Exchange On-Premise server during synchronization.

    Type
    String
    Default
    20 (useFindPeople=false) / 10 (useFindPeople=true)
    Example
    15
    Notes
    Higher values may improve sync speed but increase server load. Lower values improve stability in restricted environments.

    Defines the Exchange password used for authentication.

    Type
    String
    Default
    N/A
    Notes
    Not recommended for standard user deployments. Intended for technical or shared service accounts. Store securely in the UEM configuration.

    Provides a compressed synchronization optimization string for large Exchange On-Premise environments.

    Type
    String
    Default
    N/A
    Notes
    EBF Contacts generates this value automatically after the first full synchronization. Administrators can distribute it to other users to improve initial sync performance.

    Defines the primary color used for buttons and UI highlights in EBF Contacts.

    Type
    Hex
    Default
    #2494C5
    Example
    #1271C5
    Notes
    Use standard hexadecimal color values. Useful for company branding.

    Enables synchronization of Microsoft 365 organization contacts.

    Type
    Boolean
    Default
    false
    Notes
    Requires the Azure application permission OrgContact.Read.All. Delta synchronization is automatically disabled for organization contacts.

    Enables synchronization of users' personal contacts stored in their Exchange or Microsoft 365 mailbox.

    Type
    Boolean
    Default
    false
    Notes
    Cannot be used together with office365Secret. In Exchange On-Premise environments, this may fail if "Extended Protection" blocks REST API communication.

    Defines how long EBF Contacts waits for a server response before cancelling an API request.

    Type
    String
    Default
    15
    Example
    30
    Notes
    Increase for slow or overloaded servers. Lower values improve responsiveness but can cause sync failures in unstable environments.

    Defines the minimum number of characters a user must enter before the app starts searching contacts.

    Type
    String
    Default
    3
    Example
    2
    Notes
    Increasing this value can improve search performance in environments with very large contact databases.

    Filters synchronized contacts by Azure AD group.

    Type
    JSON
    Default
    All contacts
    Example
    [
      {"id": "a1b2c3d4-..."},
      {"id": "e5f6g7h8-..."}
    ]
    Notes
    Maximum 50 groups. Requires Group.Read.All permission.

    Controls which settings users can view, change, or use inside EBF Contacts.

    Type
    JSON
    Default
    N/A
    Example
    {
      "showUserImageAllowed": true,
      "showUserImageActivated": true,
      "biometricsAllowed": false,
      "biometricsActivated": true,
      "synchronizationAllowed": false,
      "synchronizationActivated": true,
      "mobileDataAllowed": false,
      "mobileDataActivated": true,
      "standardCallAllowed": true,
      "faceTimeCallAllowed": true,
      "teamsCallAllowed": true,
      "teamsVideoCallAllowed": true,
      "syncIntervalAllowed": false,
      "autoSyncIntervalIndex": 3
    }
    Notes
    All JSON keys must be included. Missing values may cause unexpected behavior.

    autoSyncIntervalIndex: 0 = 8h, 1 = 24h, 2 = 48h, 3 = 7 days

    Displays business address information for personal contacts in the contact details view.

    Type
    Boolean
    Default
    false
    Notes
    When enabled, shows available business address information for synchronized personal contacts.

    Shows Microsoft 365 user presence information.

    Type
    Boolean
    Default
    false
    Notes
    Requires Presence.Read.All permission.

    Defines the Microsoft 365 tenant.

    Type
    String
    Default
    N/A
    Example
    ebf.de
    Notes
    Not required for multi-tenant deployments.

    Enables an alternative Exchange On-Premise endpoint for retrieving contact data.

    Type
    Boolean
    Default
    false
    Notes
    Required when using addressListIds. Uses the Exchange FindPeople API, supporting up to 1,000 results per request. The default onPremRequestCount changes from 20 to 10.

    Prefills the username field for Exchange login or identifies the user when authentication does not use personal credentials.

    Type
    String
    Default
    N/A
    Example
    john.doe@company.com
    Notes
    Also required to enable the QR code feature when using office365Secret, HubSpot, or ZIP data sources.

    Defines the ZIP archive password.

    Type
    String
    Default
    N/A
    Notes
    Supports ZipCrypto encryption only.

    No parameters match your search.

    An example AppConfig XML file and plist is available below:

    <managedApplicationConfiguration>
    <version>1.7.0</version>
    <bundleId>de.ebf.contacts</bundleId>
    <dict>
    <string keyName="customerName">
    <defaultValue>
    <value>customer name</value>
    </defaultValue>
    </string>
    <string keyName="licenseKey">
    <defaultValue>
    <value>license keys</value>
    </defaultValue>
    </string>
    <string keyName="endpoint">
    <defaultValue>
    <value>Office 365 or url</value>
    </defaultValue>
    </string>
    <string keyName="tenant">
    <defaultValue>
    <value>tenant only for Office 365</value>
    </defaultValue>
    </string>
    <string keyName="licenseCount">
    <defaultValue>
    <value>license count</value>
    </defaultValue>
    </string>
    <string keyName="office365PageSize">
    <defaultValue>
    <value>999</value>
    </defaultValue>
    </string>
    <string keyName="selectedGroups">
    <defaultValue>
    <value>{ "values" : [ "Name of AD group 1", "Name of AD group 2"] }</value>
    </defaultValue>
    </string>
    <string keyName="callerIdStructure">
    <defaultValue>
    <value>{"givenName": -1,"surname": -1,"custom": "-","jobTitle": 10,"department": 10,"companyName": 18,"officeLocation": 15}</value>
    </defaultValue>
    </string>
    </dict>
    </managedApplicationConfiguration>
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    
    <plist version="1.0">
    <dict>
    <key>customerName</key>
    <string>EBF GmbH</string>
    <key>licenseKey</key>
    <string>97MtLkThSDFo39kmkj6pW/aTR20Rbj5nPiIa4IKYWB2YZ3orT8ms5rVkXLQHc9NcGLnv5ZiC172cJQsPx6Q4l/pLs=</string>
    <key>endpoint</key>
    <string>9f12e12e-ea6b-42db-8712-ea1040aa9999</string>
    <key>tenant</key>
    <string>ebf.de</string>
    <key>licenseCount</key>
    <string>200</string>
    <key>office365PageSize</key>
    <string>500</string>
    <key>selectedGroups</key>
    <string>{ "values" : [ "Name of AD group 1", "Name of AD group 2"] }</string>
    <key>callerIdStructure</key>
    <string>{"givenName": -1,"surname": -1,"custom": "-","jobTitle": 10,"department": 10,"companyName": 18,"officeLocation": 15}</string>
    </dict>
    </plist>

    02.4. Prefix Combination Explanation (Only Exchange On-Premise)

    Why This Configuration May Be Needed

    Exchange Web Services (EWS) limits the number of contact records returned in a single query. Organizations with large contact databases may need to adjust the EBF Contacts configuration to ensure the app synchronizes all contacts correctly.

    Without optimization:

    • Initial synchronization may take a long time
    • Some contacts may not appear immediately
    • Users may experience slower first-time setup

    EWS Query Limits

    EWS supports the following maximum results per query:

    • Standard mode:
      • Up to 100 records per query
    • When using the useFindPeople parameter:
      • Up to 1000 records per query

    EBF Contacts identifies records using the contact’s email address.

    Default Synchronization Behavior

    By default, EBF Contacts processes the contact database in multiple steps.

    This approach:

    • Helps avoid EWS query limits
    • Allows the app to eventually synchronize all contacts

    However, the first synchronization can take longer in environments with many contacts.

    Improving Synchronization Speed

    After the first full synchronization completes:

    1. Restart the app once
    2. Open the log file
    3. Locate the generated compressed string

    You can share this string with other users through the configuration parameter:

    prefixCombinations

    Using this parameter helps:

    • Reduce synchronization time
    • Improve first-time app setup
    • Speed up contact indexing for additional users

    Example Configuration

    prefixCombinations=fVvdmqO6rnyXdb2Tr8F20jzL/s4FSSD8Q2ySzMzTH6iysZiV3RctlQnIkl…

    Important

    • The app only accepts the compressed string format
    • Do not modify the generated value manually

    Best Practices

    • Use useFindPeople when your Exchange environment supports it
    • Perform the first synchronization with a stable internet connection
    • Share the generated prefixCombinations value with other users in the same environment
    • Restart the app after the initial synchronization completes

    Troubleshooting

    Synchronization Takes Too Long

    • Verify the number of contacts in the Exchange environment
    • Enable useFindPeople if available
    • Confirm network connectivity and server response times

    Some Contacts Are Missing

    • Check that contacts contain valid email addresses
    • Verify that Exchange returns the expected records
    • Review existing contact filtering rules

    prefixCombinations Does Not Work

    • Confirm that the full compressed string was copied correctly
    • Make sure the value was added exactly as generated
    • Do not add spaces or line breaks

    02.5. Default filtering behavior on synchronisation of contacts data

    EBF Contacts automatically filters contact records during synchronization.

    The app only displays contacts that match the required rules.

    Office 365 (O365) Filtering Rules

    A contact appears in EBF Contacts only if all of the following conditions are true:

    • The contact uses the user type member
    • The related user account is enabled
    • The showInAddressList attribute is:
      • empty (null), or
      • set to true
    • The contact includes at least one of these:
      • email address
      • mobile phone number
      • business phone number

    Important
    The app does not synchronize private phone numbers

    Custom Filtering

    Administrators can override the default filter by using the configuration parameter:

    office365UserFilter

    Exchange On-Premise Filtering Rules

    A contact appears in EBF Contacts only if:

    • “Hide from Address Lists” is disabled
    • The contact includes at least one of these:
      • email address
      • mobile phone number
      • business phone number

    Important
    The app does not synchronize private phone numbers

    Troubleshooting

    If contacts are missing:

    1. Verify that the user account is enabled
    2. Check the showInAddressList setting
    3. Confirm that the contact contains a supported phone number or email address
    4. Review custom filter settings
    5. Run a manual synchronization

    02.6. Filtering via selectedGroups (only O365)

    EBF Contacts can filter contacts by Azure AD groups.

    Use the selectedGroups configuration parameter to load contacts only from selected groups.

    How It Works

    • If selectedGroups is empty or missing:
      • EBF Contacts loads all contacts
    • If selectedGroups contains group names:
      • EBF Contacts only loads contacts from those groups

    Limits

    • Maximum supported groups: 50

    Example

    {
      "values": [
        "HR Team",
        "DEV Team"
      ]
    }

    Troubleshooting

    If contacts do not appear:

    1. Confirm that the group name matches Azure AD exactly
    2. Verify that the user belongs to the selected group
    3. Check that the total number of groups does not exceed 50

    02.7. AppTunnel/VPN

    EBF Contacts uses port 443 for data synchronization.

    Security Requirements

    • Always use HTTPS connections
    • The app does not support unencrypted HTTP connections

    VPN Recommendations

    If your Exchange server requires secure internal access:

    • Use a VPN solution
    • Use your UEM platform’s VPN feature when possible

    Troubleshooting

    If synchronization fails:

    1. Confirm that the server URL starts with https://
    2. Verify that port 443 is open
    3. Check that the VPN connection is active
    4. Test access to the Exchange server from the device browser

     

    02.8. Authentication and permissions

    EBF Contacts supports these authentication methods:

    • Basic Authentication
    • NTLM Authentication

    Exchange On-Premise Requirements

    Users must have permission to access Exchange Web Services (EWS)

    Optional Technical User

    You can configure a technical user account.

    This account:

    • Must have a mailbox
    • Must have standard permissions
    • Can remain hidden from address lists

    Android Requirement

    For Exchange On-Premise on Android disable “Extended Protection” on the Exchange server

    Personal Contacts Access

    If you enable:

    readPersonalContacts

    the app also needs access to Exchange REST API.

    Troubleshooting

    If login fails:

    1. Verify username and password
    2. Confirm that EWS access is enabled
    3. Check whether “Extended Protection” is disabled for Android environments
    4. Confirm that the REST API is available when using personal contacts
    5. Review server authentication settings

    02.9. Encryption password policy

    By default, EBF Contacts does not enforce password complexity rules.

    Administrators can define password requirements through configuration settings.

    Available Character Classes

    You can require these character types:

    • Uppercase letters
    • Lowercase letters
    • Numbers
    • Special characters

    Configuration Options

    MaxLength

    Maximum password length

    MinLength

    Minimum password length

    Complexity

    0 = No complexity requirements

    1 = Password must contain at least 2 of the following: uppercase letters, lowercase letters, numbers, or special characters

    2 = Password must contain at least 3 of the following: uppercase letters, lowercase letters, numbers, or special characters

    3 = Password must contain uppercase letters, lowercase letters, numbers, and special characters

    {
      "MaxLength": 16,
      "MinLength": 3,
      "Complexity": 0
    }

    Best Practices

    • Use a minimum length of at least 8 characters
    • Require multiple character types for better security
    • Avoid short passwords in production environments

    02.10. HubSpot setup

    EBF Contacts supports synchronization of contact data from HubSpot CRM application.
    For this to work you need to create a private application in the HubSpot admin portal.
    Go to “Settings” → “Account Setup” → “Integrations” → “Private Apps”

    Create a new application and enter an application name. Then select the scope (permission): crm.objects.contacts.read


    After creating the application an Access token will be shown, that needs to be provided in the EBF Contacts configuration in the “hubSpotToken” parameter.
    Example:

    hubSpotToken=pat-eu1-xxxxxxxx-xxxxxxxx-xxxxxxxx

    Important Security Note

    • Treat the token like a password
    • Do not share the token publicly
    • Rotate the token regularly based on your company security policy

    Troubleshooting

    If synchronization fails:

    1. Verify that the token is valid
    2. Confirm that the required permission is enabled
    3. Check that the token was copied correctly
    4. Test the HubSpot connection again after saving settings

    02.11. CSV and JSON data source in ZIP archive

    EBF Contacts can import contact data from CSV or JSON files.

    Requirements

    • Store the files inside a ZIP archive
    • Upload the ZIP file to a reachable web server
    • Provide the ZIP file URL in the configuration

    Supported Security

    ZIP password protection using ZipCrypto

    Required Configuration

    Set the ZIP file URL in:

    zipURL

    Required Fields

    Each CSV or JSON file must include:

    • Display Name
    • Email Address
    • Phone Number or Mobile Phone

    Example Workflow

    1. Create CSV or JSON contact files
    2. Compress the files into a ZIP archive
    3. Upload the ZIP file to a secure web server
    4. Add the ZIP URL to the EBF Contacts configuration
    5. Add the ZIP password if required
    6. Start synchronization

    Troubleshooting

    If import fails:

    1. Verify that the ZIP URL is accessible
    2. Confirm that the ZIP file is not corrupted
    3. Check that required fields exist
    4. Verify the ZIP password
    5. Confirm that the server supports HTTPS access

    Additional Support

    EBF can help customers create:

    • PowerShell scripts
    • Export scripts
    • Valid data export files

    Please find valid JSON and CSV example files below.

    JSON

    [
        {
            "DISPLAY NAME": "Adele Vance",
            "TITLE": "Retail Manager",
            "EMAIL ADDRESS": "adele.vance@ebf.com",
            "OFFICE": "18/2111",
            "FIRST NAME": "Adele",
            "LAST NAME": "Vance",
            "DEPARTMENT": "Retail",
            "COMPANY": "EBF GMBH",
            "PHONE": "+1 425 555 2222",
            "MOBILE PHONE": "+1 425 555 3333",
          "IMAGE URL": "https://picsum.photos/200/300.jpg",
        "MANAGER EMAIL": "",
        "PHONE2": "+1 425 555 1111",
        "PHONE3": "+1 425 555 6666"
        },
        {
            "DISPLAY NAME": "Grady Archie",
            "TITLE": "Designer",
            "EMAIL ADDRESS": "grady.archie@ebf.com",
            "OFFICE": "18/2111",
            "FIRST NAME": "Grady",
            "LAST NAME": "Archie",
            "DEPARTMENT": "R&D",
            "COMPANY": "EBF GMBH",
            "PHONE": "+1 425 555 4444",
            "MOBILE PHONE": "+1 425 555 5555",
          "IMAGE URL": "https://picsum.photos/200/300.jpg",
        "MANAGER EMAIL": "adele.vance@ebf.com",
        "PHONE2": "+1 425 555 8888"
        }
    ]

     

    CSV

    "DISPLAY NAME","EMAIL ADDRESS","COMPANY","DEPARTMENT","FIRST NAME","LAST NAME","OFFICE","PHONE","MOBILE PHONE","TITLE","MANAGER EMAIL","IMAGE URL","PHONE2","PHONE3"
    "Adele Vance","adele.vance@ebf.com","EBF GmbH","Retail","Adele","Vance","18/2111","+1 425 555 2222","+1 425 555 3333","Retail Manager","","https://picsum.photos/200/300.jpg","+1 425 555 1111",""
    "Grady Archie","grady.archie@ebf.com","EBF GmbH","R&D","Grady","Archie","18/2111","+1 425 555 4444","+1 425 555 5555","Designer","adele.vance@ebf.com","https://picsum.photos/200/300.jpg","+1 425 555 7777","+1 425 555 8888"

    02.12. Android specifics

    On Android devices, EBF Contacts stores synchronized contacts inside the Android system contacts database.

    This allows caller identification for incoming calls.

    Security Requirement

    Install EBF Contacts only inside an:

    • Android Enterprise Work Profile

    This helps prevent unmanaged apps from accessing company contact data.

    Browser Requirement

    Install a browser app inside the Work Profile.

    The app needs a browser to:

    • Open the Microsoft 365 login page
    • Complete authentication

    Important Uninstallation Behavior

    Android keeps synchronized contacts in the Work Profile after app removal.

    To remove all contacts completely:

    Option 1

    Remove the entire Work Profile

    Option 2

    Before uninstalling:

    1. Open EBF Contacts
    2. Select Logout
    3. Wait for contact cleanup to finish
    4. Uninstall the app

    Troubleshooting

    If contacts remain after uninstall:

    • Confirm that the user logged out before uninstalling
    • Remove the Work Profile if cleanup did not occur

    If login pages do not open:

    • Verify that a browser exists inside the Work Profile

    Was this article useful?

    Still stuck? How can we help?

    How can we help?

    Updated on 10. Juni 2026
    01. What is EBF Contacts03. Get EBF Contacts up and running in few steps
    Table of Contents
    • 02.1. Minimum system version
      • Recommended Setup
    • 02.2. Caller Identification
      • Important Requirements
      • Best Practices
    • 02.3. AppConfig
      • Required parameters
      • Microsoft 365 Authentication Methods
      • Azure App Registration Requirements
      • Common Optional Parameters
    • 02.4. Prefix Combination Explanation (Only Exchange On-Premise)
      • Why This Configuration May Be Needed
      • EWS Query Limits
      • Default Synchronization Behavior
      • Improving Synchronization Speed
      • Example Configuration
      • Important
      • Best Practices
      • Troubleshooting
        • Synchronization Takes Too Long
        • Some Contacts Are Missing
        • prefixCombinations Does Not Work
    • 02.5. Default filtering behavior on synchronisation of contacts data
      • Office 365 (O365) Filtering Rules
      • Custom Filtering
      • Exchange On-Premise Filtering Rules
      • Troubleshooting
    • 02.6. Filtering via selectedGroups (only O365)
      • How It Works
      • Example
      • Troubleshooting
    • 02.7. AppTunnel/VPN
      • Security Requirements
      • VPN Recommendations
      • Troubleshooting
    • 02.8. Authentication and permissions
      • Exchange On-Premise Requirements
      • Optional Technical User
      • Android Requirement
      • Personal Contacts Access
      • Troubleshooting
    • 02.9. Encryption password policy
      • Available Character Classes
      • Configuration Options
        • MaxLength
        • MinLength
        • Complexity
      • Best Practices
    • 02.10. HubSpot setup
      • Important Security Note
      • Troubleshooting
    • 02.11. CSV and JSON data source in ZIP archive
      • Requirements
      • Supported Security
      • Required Configuration
      • Required Fields
      • Example Workflow
      • Troubleshooting
      • Additional Support
    • 02.12. Android specifics
      • Security Requirement
      • Browser Requirement
      • Important Uninstallation Behavior
        • Option 1
        • Option 2
      • Troubleshooting
    Linkedin-in Phone
    Workplace Management
    • UEM Solutions
    • Migrations
    • Services
    Modern Work Tools
    • Sync Contacts
    • Hybrid Data Management
    • Secure Mobile Printing
    • eSIM Management
    • App Management
    IT Security
    • IAM
    • Modern Threat Defense
    • Cyber Risk Management
    • Secure Development
    • Zero Trust
    • Security Check
    AI Solutions
    • AI Consulting
    • AI Development
    Company
    • About Us
    • References
    • Partners
    • Sustainability
    • Careers
    • Trends
    © 2026 EBF-EDV Beratung Föllmer GmbH
    • Privacy Policy
    • GTC
    • EULA
    • Imprint
    Manage Consent
    To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
    Functional Immer aktiv
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    • Optionen verwalten
    • Dienste verwalten
    • Verwalten von {vendor_count}-Lieferanten
    • Lese mehr über diese Zwecke
    View preferences
    • {title}
    • {title}
    • {title}
    EBF Status Check