# Copy of SCA Configuration - SecContacts.ServiceUrls

### **SecContacts.ServiceUrls** <a href="#seccontacts.serviceurls" id="seccontacts.serviceurls"></a>

This setting is for adding service urls of custom dataverse datasources e.g. Dynamics 365.

* Name: `SecContacts.ServiceUrls`
* Value: `[{"name":"<service ID>", "value":"<service URL>"}]`

The Value property is a JSON Array of name value pairs.\
You can add one or multiple service urls here.

Replace **\<service ID>** with the service ID of a customs datasource

* e.g. `D365` or `DVRS`

Replace **\<service URL>** with the url of a customs datasource

* e.g. `https://provectus-lab.crm.dynamics.com`

Currently "Dynamics 365" (D365) as well as "Dataverse" (DVRS) 'SCA default Table 'sca\_contact\_tables' is supported.

### Optional properties for **SecContacts.ServiceUrls** 🆕

* Name: `SecContacts.ServiceUrls`
* Value: `[{"name":"<service ID>", "value":"<service URL>",` \
  `"apiFilter":"<ODATA filter expression>",` \
  `"ccHomePhone":"<cust.column.HomePhone>",` \
  `"ccBusinessPhone":"<cust.column.BusinessPhone>",` \
  `"ccMobilePhone":"<cust.column.ccMobilePhone>",` \
  `"ccPrivateMobilePhone":"<cust.column.PrivateMobilePhone>",` \
  `"ccEMailAddress":"<cust.column.EMailAddress>" }]`

The `Value` is a JSON array containing one or more ServiceUrls. Each object in the array must include the mandatory fields:

Replace **\<service ID>** with the service ID of a customs datasource

* e.g. `D365` or `DVRS`

Replace **\<service URL>** with the url of a customs datasource

* e.g. `https://provectus-lab.crm.dynamics.com`

You may also optionally include:

* 🆕 `apiFilter`: Define an OData filter expression for the filter parameter used in Microsoft D365 / dataverse API queries. This allows you to limit which records are returned based on specific field values. When used in combination with multiple Service URLs, this enables you to partition your D365 or dataverse environment into multiple distinct SCA data sources - for example, based on region, team, or data ownership. e.g.  `"statecode eq 0 and contains(name, 'Project')"`<br>
* 🆕 `ccHomePhone`: Replace **\<cust.column.HomePhone>** with the name of a **custom column** that holds the home phone number of an D365 contact object
* 🆕 `ccBusinessPhone`: Replace **\<cust.column.BusinessPhone>** with the name of a **custom column** that holds the business phone number of an D365 contact object
* 🆕 `ccMobilePhone`: Replace **\<cust.column.MobilePhone>** with the name of a **custom column** that holds the mobile phone number of an D365 contact object
* 🆕 `ccPrivateMobilePhone`: Replace **\<cust.column.PrivateMobilePhone>** with the name of a **custom column** that holds the private mobile phone number of an D365 contact object
* 🆕 `ccEMailAddress`: Replace **\<cust.column.EMailAddress>** with the name of a **custom column** that holds the email address of an D365 contact object

{% hint style="success" %}
You can add one or multiple ServiceURLs to this array as needed.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.secure-contacts.com/documentation/app-configuration-policy-name-values-for-sca/sca-configuration-connect-additional-datasource-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
