BizTalk Adapter available for download!

It's been some time waiting since the announcement at the Convergence in Texas for the BizTalk Adapter to be released, but it has gone public! Here are links to the adapter and a code sample:
The adapter
Code Sample

This BizTalk connector basically exposes all the CRM API's in BizTalk. For each entity schemas can be generated. The adapter can perform Create, Update, Delete or Execute actions based on the input.

I've been using the beta of this adapter for creating integrations with several other systems. Some integrations I have been working on already:
- Lead entry via email: POP3, BizTalk, MSCRM
- Continuous integration with financial system: Webservice, BizTalk, MSCRM
- Daily bulk import of data: SQL, BizTalk, MSCRM

Drop me a note if you'd like me to post a howto regarding this Adapter.

Have fun integrating CRM!


Anonymous said...

Please post a howto. Sounds good for me and I'm interested in the whole BizTalk 2006 to MSCRM 3.0 stuff.


Anonymous said...

Yeah post!!

Anonymous said...

Hello Ronald
I am new to CRM and have a Confusion regarding to create a SalesOrder Programmatically.I tried a lot but not able to get a result.I got solution for another query so far and Thankful to you.
At this moment,I am expecting the same Response from you as early as possible.I need it very urgent.

So Could you please give me solution step by step to create SalesOrder Progrmmatically.

waiting for your kind Response.


Ronald Lemmen said...

Hi Chanti,

The creation of a salesorder is fairly equal to the creation of any other entity. When creating a SalesOrder, then keep in mind that you use the field CustomerId for the relationship with an account.

If this doesn't solve your issue, then either post the error message you're receiving to the newsgroup or mail me the issue: ronaldl at avanade dot com.

Kind regards

Anonymous said...

Hi Ronald,

i am struggeling with updating accounts, oppertunities. A creation works fine, could you share have you update f.e. accounts via the biztalk adapter?


Ronald Lemmen said...

Hi Adam,

You can update an account by supplying the accountid in the account-xml. The adapter will automatically switch from 'add' modus to 'update' modus. In case you want to force an 'add' action in conjunction with an account guid, then you'd need to set the crmaction value as well.

Good luck,


Anonymous said...

Hi Ronald,

Thankx for your quick response. I already was aware of this, but I am having difficulties retrieving this account guid during this proces. My backoffice system uses it's own unique account number. So based on this number I want to retrieve the crm account guid and provide this to the adapter for processing.

Appriciate your response!!


Ronald Lemmen said...

There are two options:
1) use the BizTalk CRM adapter to do a fetchxmlrequest. Remember to set the crmaction to 'execute'. Then send out a fetchxmlrequest. In this xml request you should place a fetch xml like: fetch accountid, entity account where yourid = 'dynamic value'. A fetchxmlresponse will be returned. In this response is located the guid for the specific account

2) forget the connector and do a direct database query. "SELECT accountid FROM account WHERE yourid='dynamic value' AND deletionstatecode = 0".

The second option is faster, but not supported.

Hope this helps,

Anonymous said...

Hi Ronald,

I'm working with the Biztalk CRM adapter. Maybe you can help me out with this challenge? Do you recognize the error: "Invalid argument. :: Server was unable to process request" Error code 0x80040203 in the return XML? I'm trying to retrieve accountguids based on the accountnumber (functional key) with the RetrieveMultiple XML.

Thanks for your time.

Ronald Lemmen said...


Sounds like there is something wrong with one of the arguments your sending to CRM. The message comes from CRM and indicates an error with the arguments.

What is the code you're using? Are you sure that the values are as you expected? Have you tried using this code in another application without BizTalk?

Kind regards,

Anonymous said...

Hi Ronald,

It is not possible to post the XML in your blog. I have posted the message on the newsgroup:

Maybe you want to click this link and take a look at the request message.

Thanks in advance,

Ronald Lemmen said...

Hi Joost,

If you're still having troubles with this issue, then please send me an email at: Ronaldl at avanade dot com

Anonymous said...

Hi Ronald,

I'm facing a similar probelem that has been posted on ur blog comments.

I'm trying to update a custom entity using dynamic entity method.
I use the following code in a method to achieve the same:
TargetUpdateDynamic targetDyn = new TargetUpdateDynamic();
targetDyn.Entity = entity; //entity is a Dynamic entity retrieved using Dynamic retrieve method by passing the entity's key guid.
UpdateRequest updateReqDyn = new UpdateRequest();
updateReqDyn.Target = targetDyn;
UpdateResponse updateRespDyn = (UpdateResponse)service.Execute(updateReqDyn); // !!ERROR occurs here!!
service = null;

I get the following error message :
ex.Message: Server was unable to process request
ex.Detail.InnerText: "0x80040203 Invalid argument. Platform"

If you have any idea about how to fix this problem please post it

koOldeEp said...

How to create Dynamic send port for MS CRM 3.0/4.0 in BizTalk 2006?

HI ,

I want to create a dynamic send port for MS CRM 3.0/4.0 adapter. but i didn't get how to create it? Also i didn't get any methods to set user name and password required to access CRM.

CRM URL is : http://localhost:5555

User name: Administrator

Password: password

Orgname: MicrosoftCRM

I installed MS CRM Adapter[Both for 3.0/4.0 common and also separate adapter for CRM 4.0].

Thanks in advance.

joon said...

Hi Ronald,
I have a custom entity in MSCRM 4.0. I can assign Owner Id of a record in that Entity using BizTalk server but cannot update it. To assign while creation I did following things:
1. Set Type = systemuser
2. Assign GUID of the User to that Owner id field.
All these assignment are done to the Schemas generated by MSCRM inside BizTalk application using Add Generated Items wizard.

I also checked the role assigned to the user account who is performing the action, and the account has been given the Role of "Assign" in MSCRM.

Help required.