Identity Broker Forum

Welcome to the community forum for Identity Broker.

Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.

0
Answered
Aneesh Varghese 2 weeks ago in Identity Broker for Microsoft Dynamics CRM • updated 1 week ago 4

Previous Version: Microsoft Dynamics CRM Connector v4.1.1.1

Upgraded Version: Microsoft Dynamics CRM Connector v5.1.0.1

Observing a strange behaviour after the Connector upgrade. Exports are successful from IdB and FIM point of view but the changes are not reflected in CRM.

The above mentioned behaviour is happening only for new users/records or if the attribute is "Null" or blank in CRM. Changes are appearing correctly if the attribute is already populated with something (existing contact/record).

Please advise what details you need to troubleshoot this issue.

I already performed the following:

  • Checked the IdB logs but couldn't find any errors
  • Checked with the CRM team
  • Captured the TCP traffic but found the SOAP message is pretty much encrypted
Answer
Beau Harrison 1 week ago

Hi Aneesh,

Here is a patch that should hopefully resolve this issue. Could you backup (to a different location) and replace the Unify.IdentityBroker.Communicator.DynamicsCRM.dll that is currently in the Identity Broker/Services directory with the patched version below.

Unify.IdentityBroker.Communicator.DynamicsCRM.dll

0
Not a bug


Previous Version: Microsoft Dynamics CRM Connector 4.1.1.1

Upgraded Version: Microsoft Dynamics CRM Connector 5.1.0.0

Management Agent Export Error:

System.Exception: A -2147204326 fault occurred with message A validation error occurred.  The value of 'address3_addresstypecode' on record of type 'contact' is outside the valid range.. See the server logs for details.

[Microsoft.Crm.ObjectModel: Microsoft.Crm.ObjectModel.TargetAttributeValidationPlugin]
[fc743e7d-fbea-4695-bdb9-7d78334c8474: TargetAttributeValidationPlugin]


   at Unify.Product.IdentityBroker.DynamicsCrmAgent.GetException(OrganizationServiceFault fault)

 

IdB Stack Trace

Request to retrieve logs.
Request to retrieve logs failed with message Collection was modified; enumeration operation may not execute.. Date: 31/05/2017. Skip: 0. Take: 10. Search: address3_addresstypecode. Duration: 00:00:03.7129126
Error details:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Linq.Enumerable.<SkipIterator>d__4d`1.MoveNext()
at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Framework.Logging.LoggingEngineNotifierDecorator.<>c__DisplayClass6_0.<ReadLogSearch>b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Framework.Logging.LoggingEngineNotifierDecorator.ReadLogSearch(DateTime date, String search, Int32 skip, Int32 take)
at Unify.Product.IdentityBroker.IdentityServiceCollector.ReadLogSearchSkipTake(DateTime date, String search, Int32 skip, Int32 take)
at SyncInvokeReadLogSearchSkipTake(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)


Answer
Aneesh Varghese 7 days ago

Confirmed this is a CRM/client specific issue and can be safely ignored. 

0
Answered

The new ECMA 2.0 IdB Mangement Agent Export Run Profile Returns "cd-error" after the IdB/CRM Connector Upgrade (from v4.x to v5.1.x)

Previous Version: Microsoft Dynamics CRM Connector 4.1.1.1

Upgraded Version: Microsoft Dynamics CRM Connector 5.1.0.0


IdB error logs

.Net SqlClient Data Provider:

System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       .....

Error Number:1205,State:48,Class:13
Answer

Summary from Aneesh (private comment):

To recap, this issue is caused by imports and exports to CRM (though via different connectors) running at the same time and timing out. Curtis, you suggested running two operations in isolation. I reviewed the CRM Management Agents (MA) and I can see that this MA (Dynamics CRM – Export) is only used for exporting change back to the CRM and there is a separate MA called “Dynamics CRM – Users” is created to import changes from CRM. I am not sure why two separate management agents created instead of just one for both import and export operations. I will check with the client. If no real reason, I will recommend merging both MA’s into just one MA to avoid any concurrency issues.
0
Answered

I want to set the connector filter to exclude contacts that don't have an email adress. I have checked this page: https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.conditionoperator.aspx and there is a filterType "NotNull" however IdB won't let me save "emailaddress1 NotNull". I think it is looking for a value on the other side of the filter, but for this I don't need one.


I tried setting setting "emailaddress1 NotNull Null" and also tried setting fieldValue="" in the Connector XML but for both I get this error in running the Import: "Condition operation 'NotNull' requires that no values are set".


Also tried "emailaddress1 Contains @" but I guess emailaddress1 isn't full-text indexed as I got the SQL error mentioned in the article.

And "emailaddress1 NotEqual Null" was accepted, and imported, but imported everything, irrespective of emailaddress1 having a value or not.

Answer

The filter currently assumes that there is a field, type and value, so I'll have a look at what can be done here.

0
Fixed

Currently can not read the CRM schema via CRM connector.

When attempting to pull down the CRM schema i receive the following error: Unable to load the embedded resource 'Unify.Service.Embedded.Microsoft.Xrm.Sdk.dll' from Unify.Service.Connect, Version=4.0.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4:

HALP!



CRM1.png
CRM2.png
CRM3.png
CRMSchemaContact.xlsx
microsoft.crm.sdk.proxy.dll
microsoft.xrm.sdk.dll
0
Completed

Once annotation connector is added to the adapter Imports fail with the following trace.

Log Name:      Application
Source:        FIMSynchronizationService
Date:          24/06/2013 4:38:45 p.m.
Event ID:      6801
Task Category: Server
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      PSVMFIMDEV01.ps.ad.parliament.govt.nz
Description:
The extensible extension returned an unsupported error.
 The stack trace is:
 
 "System.Exception: Error encountered attempting import: System.IO.IOException: An exception has been thrown when reading the stream. ---> System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---> System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.MaxMessageSizeStream.PrepareRead(Int32 bytesToRead)
   at System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.Xml.EncodingStreamWrapper.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.Xml.XmlBufferReader.TryEnsureBytes(Int32 count)
   at System.Xml.XmlBufferReader.GetBuffer(Int32 count, Int32& offset, Int32& offsetMax)
   at System.Xml.XmlUTF8TextReader.ReadText()
   at System.Xml.XmlUTF8TextReader.Read()
   at System.Xml.XmlBaseReader.MoveToContent()
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Unify.Framework.IO.StreamExtensions.CopyTo(Stream source, Stream destination)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData) 

   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)
Forefront Identity Manager 4.1.3441.0"
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="FIMSynchronizationService" />
    <EventID Qualifiers="49152">6801</EventID>
    <Level>2</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2013-06-24T04:38:45.000000000Z" />
    <EventRecordID>448936</EventRecordID>
    <Channel>Application</Channel>
    <Computer>PSVMFIMDEV01.ps.ad.parliament.govt.nz</Computer>
    <Security />
  </System>
  <EventData>
    <Data>System.Exception: Error encountered attempting import: System.IO.IOException: An exception has been thrown when reading the stream. ---&gt; System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---&gt; System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.MaxMessageSizeStream.PrepareRead(Int32 bytesToRead)
   at System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.Xml.EncodingStreamWrapper.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.Xml.XmlBufferReader.TryEnsureBytes(Int32 count)
   at System.Xml.XmlBufferReader.GetBuffer(Int32 count, Int32&amp; offset, Int32&amp; offsetMax)
   at System.Xml.XmlUTF8TextReader.ReadText()
   at System.Xml.XmlUTF8TextReader.Read()
   at System.Xml.XmlBaseReader.MoveToContent()
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Unify.Framework.IO.StreamExtensions.CopyTo(Stream source, Stream destination)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String&amp; customData) 

   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String&amp; customData)
Forefront Identity Manager 4.1.3441.0</Data>
  </EventData>
</Event>

Keep in mind these base64 strings are HUGE..
How can when up this MAX or avoid this?

0
Fixed

Exporting to CRM, this is the result:

System.Exception: Error occurred when attempting to save entity with distinguished name
 
CN=12700
 
Error:
 
The method IEntityBase`.GetValue() is not supported in this context.  Use IEntityBase`.GetValueOrDefault() instead.
 
The method is not supported as use of this method in a LINQ statement against an implementation will result in the same exception type being thrown if the key value is not present in an instance of the entity.
   at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.VisitMethodCall(MethodCallExpression m)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.ExpressionExpressionVisitorBase.&lt;VisitExpressionList&gt;b__d(Expression originalExpression)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Unify.Framework.ExpressionExpressionVisitorBase.VisitExpressionList(ReadOnlyCollection`1 original)
   at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.VisitMethodCall(MethodCallExpression m)
   at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.VisitMethodCall(MethodCallExpression m)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.VisitLambda(LambdaExpression lambda)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.ExpressionExpressionVisitorBase.VisitUnary(UnaryExpression u)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.ExpressionExpressionVisitorBase.&lt;VisitExpressionList&gt;b__d(Expression originalExpression)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
  at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Unify.Framework.ExpressionExpressionVisitorBase.VisitExpressionList(ReadOnlyCollection`1 original)
   at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.VisitMethodCall(MethodCallExpression m)
   at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.VisitMethodCall(MethodCallExpression m)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
   at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
   at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at Unify.Product.IdentityBroker.DynamicsCrmObjectConnector.UpdateEntities(IEnumerable`1 entities)
   at Unify.Product.IdentityBroker.EventNotifierUpdatingConnectorDecorator.UpdateEntities(IEnumerable`1 entities)
   at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities, Boolean reflect)
   at Unify.Product.IdentityBroker.AdapterNotifierDecoratorBase`1.UpdateEntity(IAdapterEntity entityToSave)
   at Unify.Product.IdentityBroker.LDIFAdapterBase.ExportChanges(ExportedLDIFForAdapter exportedLdifForAdapter)
   at SyncInvokeExportChanges(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)

Unify.Product.IdentityBroker.ConnectorEnginePlugInKey.extensibility.config.xml
0
Answered

The Microsoft Dynamics CRM 2011 SDK includes a couple of dll's that have been used for the development of the connector (referenced).

The assemblies will not be present on machines that are not running Dynamics CRM 2011 (a deployment where Identity Broker is on a different machine) or where the client is using a hosted solution.

The installation process will be a lot simpler if I can include the referenced assemblies in the installer. Is this possible with the following agreement that is included in the SDK:

MICROSOFT SOFTWARE LICENSE TERMS
MICROSOFT DYNAMICS CRM 2011 SOFTWARE DEVELOPMENT KIT (SDK)
These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
• updates,
• supplements,
• Internet-based services, and
• support services
for this software, unless other terms accompany those items. If so, those terms apply.
BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
If you comply with these license terms, you have the rights below.
1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software on your devices to design, develop and test your programs.
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a. Distributable Code. The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.
i. Right to Use and Distribute. The code and text files listed below are “Distributable Code.”
• Sample Code. You may modify, copy, and distribute the source and object code form of code marked as “sample.”
• Other Distributable Code. You may copy and distribute the source and object code form of code if it is a file with the extension *.dll.
• Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
ii. Distribution Requirements. For any Distributable Code you distribute, you must
• add significant primary functionality to it in your programs;
• for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your program;
• distribute Distributable Code included in a setup program only as part of that setup program without modification;
• require distributors and external end users to agree to terms that protect it at least as much as this agreement;
• display your valid copyright notice on your programs; and
• indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.
iii. Distribution Restrictions. You may not
• alter any copyright, trademark or patent notice in the Distributable Code;
• use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;
• distribute Distributable Code, other than code listed in OTHER-DIST.TXT files, to run on a platform other than the Windows platform;
• include Distributable Code in malicious, deceptive or unlawful programs; or
• modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
• the code be disclosed or distributed in source code form; or
• others have the right to modify it.
3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
• work around any technical limitations in the software;
• reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
• make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
• publish the software for others to copy;
• rent, lease or lend the software;
• transfer the software or this agreement to any third party; or
• use the software for commercial software hosting services.
4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software.
5. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
6. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.
8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
9. APPLICABLE LAW.
a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
b. Outside the United States. If you acquired the software in any other country, the laws of that country apply.
10. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to
• anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and
• claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.


licenseterms.docx
0
Fixed

Due to annotation fields, namely documentbody being HUGE after (i assume) base64 encode. We are currently experiencing timeouts on this connector. Are we able to add a configurable timeout on connectors? I believe its currently set for 2min..

Additionally - annotation contains every attachment available in Dynamics CRM. NZ Parli is only interested a mimetype of image/pjpeg and a subject of "Example" or contains "Exa". Are we able to add filters to the connectors?