Microsoft CRM: Data Conversion ? Import from Act!

Best Software Act! is very popular CRM for small and mid-size organization. This system attracts business owner by its low price, plus system is very easy to use. However if your business is growing you should reach the moment to implement more advanced CRM solution. Natural question is ? how do we convert the data from Act! to new CRM solution and the mapping of your objects for conversion. You would probably like to avoid operator data entry with potential numerous errors and mistypes. Assuming that you are IT specialist, we'll give you technical side of Act to MS CRM data migration:

? First you need to download Act! SDK from Best Software website

? Install Act! SDK on the computer, where you plan to do programming

? We'll use asynchronous data export/import model, this means that we'll design the system, containing two parts: export into XML and this XML file import into the CRM

? Lets code Act! data export application, we'll use C# to address Act Framework classes, we'll need these libraries:

using Act.Framework;
using Act.Framework.Activities;
using Act.Framework.Companies;
using Act.Framework.ComponentModel;
using Act.Framework.Contacts;
using Act.Framework.Database;
using Act.Framework.Groups;
using Act.Framework.Histories;
using Act.Framework.Lookups;
using Act.Framework.MutableEntities;
using Act.Framework.Notes;
using Act.Framework.Opportunities;
using Act.Framework.Users;
using Act.Shared.Collections;

? To connect to Act! database:

ActFramework framework = new ActFramework();

framework.LogOn("Act Username", "password", "SERVER", "Database");

? Now we need Act field names to map them with the fields in the MS CRM:

private void ShowContactsFieldsDescriptions(ActFramework framework) {

ContactFieldDescriptor[] cFields = framework.Contacts.GetContactFieldDescriptors();

ContactFieldDescriptor cField;

for(int x = 0; x < cFields.Length; x++)

{

cField = cFields[x];

Console.WriteLine("Table Name: {0}", cField.TableName);

Console.WriteLine("Column Name: {0}", cField.ColumnName);

Console.WriteLine("Display Name: {0}", cField.DisplayName);

Console.WriteLine("ACT Field Type: {0}", cField.ACTFieldType);

Console.WriteLine("");

}

}

? Let's get contact list and create the file for import instructions to MS CRM:

ContactList cList = framework.Contacts.GetContacts(null);

FileInfo t = new FileInfo("Contacts.xml");

StreamWriter stw = t.CreateText();

? Now we form export data:

for (int i = 0; i < cList.Count; i++) {

string strContactXml = "";

ContactFieldDescriptor cField;

Object oValue;

// First Name

cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.FIRSTNAME");

oValue = cField.GetValue(cList[i]);

if (oValue != null && !(oValue.ToString().Trim().Equals("")))

strContactXml += "[CDATA[" + oValue.ToString() + "]]";

// Last Name

cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.LASTNAME");

oValue = cField.GetValue(cList[i]);

if (oValue != null && !(oValue.ToString().Trim().Equals("")))

strContactXml += "[CDATA[" + oValue.ToString() + "]]";

else

strContactXml += "" + "N/A" + "";

// Salutation

cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.SALUTATION");

oValue = cField.GetValue(cList[i]);

if (oValue != null && !(oValue.ToString().Trim().Equals("")))

strContactXml += "[CDATA[" + oValue.ToString() + "]]";

// Job Title

cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.JOBTITLE");

oValue = cField.GetValue(cList[i]);

if (oValue != null && !(oValue.ToString().Trim().Equals("")))

strContactXml += "[CDATA[" + Regex.Replace(oValue.ToString(), " ", "
") + "]]";

? This is only portion of the data, that could be transferred into CRM, the whole list of fields is too long for small article, but your could design the whole list of desired fields. Please, pay special attention to replace
HTML tag ? this is required for text data transfer into CRM

? Next is import application creation. We will not describe here connection to MS CRM details ? please read Microsoft CRM SDK if you need this examples. We'll concentrate on the nature of the import.

The XML export file should look like this:

[CDATA[John]][CDATA[Smith]][CDATA[John]][CDATA[1234 W. Big River]][CDATA[Chicago]][CDATA[IL]][CDATA[123456]][CDATA[Toy Corporation]]{4F1849C3-9184-48B5-BB09-078ED7AB2DAD}

? Reading, parsing and MS CRM object creation look is relatively simple:

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(crmUsername, crmPassword, crmDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMContact proxy object

Microsoft.Crm.Platform.Proxy.CRMContact contact = new Microsoft.Crm.Platform.Proxy.CRMContact ();

contact.Credentials = credentials;

contact.Url = crmDir + "CRMContact.srf";

CorrectXML("Contacts.xml", userAuth.UserId);

StreamReader reader = File.OpenText("Contacts.xml");

string input = null;

while ((input = reader.ReadLine()) != null)

{

string strContactId = contact.Create(userAuth, input);

Console.WriteLine("Contact {0} is created", strContactId);

log.Debug("Contact " + strContactId + " is created");

}

? Just consider in more details CorrectXML function ? it places OwnerId into XML contact tree:

private void CorrectXML(string fileName, string userId) {

File.Move(fileName, fileName + ".old");

StreamReader reader = File.OpenText(fileName + ".old");

FileInfo t = new FileInfo(fileName);

StreamWriter writer = t.CreateText();

string input = null;

while ((input = reader.ReadLine()) != null)

{

input = Regex.Replace(input, "{_REPLACE_ME_}", userId);

writer.WriteLine(input);

}

reader.Close();

writer.Close();

Fi le.Delete(fileName + ".old");

}

? Finally, we are launching export, import, opening MS CRM and looking at the contact list, transferred from Act!

? Separate task would be Sales data from Act!, Notes etc. ? we plan to describe them in the future articles

Good luck with integration! If you want us to do the job - give us a call 1-630-961-5918 or 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Lead Software Developer in Alba Spectrum Technologies ? USA nationwide Great Plains, Microsoft CRM customization company, serving clients in Chicago, Houston, Atlanta, Phoenix, New York, Los Angeles, San Francisco, San Diego, Miami, Denver, UK, Australia, Canada, Europe and having locations in multiple states and internationally ( http://www.albaspectrum.com )

post construction cleaning Mundelein ...
In The News:

Facebook ads promising to recover stolen funds are targeting scam victims again, and Meta confirmed removing flagged accounts after investigation.
Tesla Cybertruck production is winding down at Gigafactory Texas to make room for Cybercab robotaxi manufacturing, but key questions remain for owners.
Identity theft can hide in phone accounts, medical records and utility bills long before it shows on a credit report. Eight places to check now.
JR East's towering ZIZAI ZX-3 chainsaw robot tackles dangerous branch-cutting along Japan's Koumi Line while a trained operator controls it remotely.
A massive DHS data leak exposed records of over 41,000 employees, revealing links to undercover ICE operations, Palantir tools and AI platforms.
The Fox News AI Newsletter covers the latest artificial intelligence technology advancements, including the challenges and opportunities AI presents now and for the future.
UCLA's PhoneBot turns old Android phones into the brain of a two-legged humanoid robot that walks, follows people and stands up after falling.
A fake Amazon invoice charging $988.18 for an iPad lists the same customer support phone number three times to steer panicked victims into calling.
A handful of food delivery robots from Uber Eats and other platforms have gotten kicked and knocked over in Philadelphia and Los Angeles.
Data broker opt-out forms may not protect your family. People search sites can still expose your info through a spouse's or parent's profile.
Apple's first touchscreen MacBook Pro starts at $2,899 with a PROLED XDR OLED display, but the non-touch M6 model costs $900 less at $1,999.
Black Friday deals are already drawing scammers who use fake delivery notices and gift card payment requests to steal your personal financial information.
Apple's iPhone Duo reportedly outlasted the Samsung Galaxy Z Fold 8 by over three hours in battery tests, but its weight and repair costs raise concerns.
Florida Polytechnic University's Jetson ONE eVTOL police vehicle named Astro still awaits FAA authorization before officers can fly operational patrols.
OpenAI's new locked chats feature lets you protect ChatGPT conversations with a PIN, Face ID or Touch ID, but there are key privacy limitations.
A phishing email disguised as an Evite fooled a man even after he emailed his friend to verify it, revealing how compromised Gmail accounts aid scams.
Microsoft's AI diagnostic system identified 83% of complex medical cases in a study, more than doubling the 36% accuracy of generalist doctors.
Account takeover threats go beyond stolen passwords as criminals exploit session cookies, SIM swaps and MFA fatigue to bypass your login security.
SpaceX is reportedly pursuing access to 80,000 cell sites to turn Starlink into a major wireless carrier rivaling Verizon, AT&T and T-Mobile.
Tech advocacy groups warn that foreign nationals at AI companies like OpenAI and Google pose a national security threat amid a lack of federal oversight.
Singapore researchers built the world's first touchscreen woven into clothing, surviving 50 machine washes while displaying images and responding to touch.
The Fox News AI Newsletter covers the latest artificial intelligence technology advancements, including the challenges and opportunities AI presents now and for the future.
A startup founder woke to $449 in unexpected OpenAI and Anthropic charges after stolen API keys were exploited during the "Black October" cyber wave.
Educational Testing Service hackers stole millions of California student records, but families who moved out of state years ago may also be affected.
Apple's iPhone Duo screens are cracking near the hinge just days after its $1,999 launch, and iFixit's CT scans may reveal what's going wrong.

Microsoft Axapta, Navision or Great Plains: ERP Selection for Large Corporation

If you would like to pick something from Microsoft, or... Read More

Vlans

In order to implement VLANs in a network environment, you'll... Read More

Microsoft Great Plains as ERP and Microsoft CRM as CRM

If you have Microsoft Great Plains and support it for... Read More

Who Is Minding Your Sensitive Data?

Stealing company information used to be the specialty of spies... Read More

Most Dangerous Types of Spyware are on the Rise: How to Choose the Weapon

Bad News - the Threat is Bigger than it SeemedHow... Read More

Behave, Word, Behave!

If you copy something from a Web site or elsewhere...... Read More

Microsoft Great Plains Jewelry ? Implementation & Customization Overview

Each Industry and market niche has business specific and unique... Read More

Microsoft CRM Data Conversion FAQ

Microsoft Business Solutions CRM data conversion deserves FAQ type of... Read More

3 Reasons Why Medical Billing Software is Leading the Way

Since technology changes so quickly, it is hard to begin... Read More

Fast Car Knoppix

Small can be beautiful! Working with Knoppix for the past... Read More

Software Upgrades Arent Always the Best Move

When my daughter was getting into AOL instant messaging (AIM)... Read More

How to Upgrade Dexterity Customization ? Tips for IT Manager

If you have Microsoft Great Plains and support it... Read More

Microsoft Navision Customization and Reporting ? Tips For Programmer/IT Specialist

C/SIDE (Client/Server Integrated Development Environment) - The core of... Read More

What is Spyware? Are You Being Watched?

Find out why Spyware Removal from computers is important and... Read More

SQL: Querying Microsoft Great Plains ? Overview for Database Administrator/Developer

Looks like Microsoft Great Plains becomes more... Read More

Imagine if Everyone Working In Your Office Was In Synch?

Microsoft-Outlook is a pretty amazing program. So much more than... Read More

Groupware and Version History: Collaboration Series #1

This article is the first of a series of articles... Read More

Microsoft Great Plains Integrations ? Retail Management Sample

Microsoft Business Solutions is emerging as very attractive vendor for... Read More

Adware, What Is It?

Adware is a type of Spyware program that displays some... Read More

Groupware Finds Home in American Business: Collaboration Tool Analysis

What is Groupware?Have you ever had to manage document collaboration... Read More

Screenplay and Script Writing Software

When it comes to screenplay software each screenwriter needs to... Read More

Computer Phones ? Facts and Fallacies

The stakes are high when considering security, privacy, and savings,... Read More

Microsoft Great Plains Remote Support - Overview

Microsoft Great Plains is now standard mid-market ERP application, serving... Read More

Microsoft Great Plains Logistics & Warehouse Management ? Implementation & Customization Highlights

Logistics automation is often considered as barcoding extension to Sales... Read More

Microsoft Great Plains: Getting New Users Licenses ? Annual Service Plan FAQ

Microsoft Business Solutions Great Plains, Solomon, Navision, Axapta, Microsoft CRM... Read More

licensed cleaning services Lake Forest ...