Friday 19 January 2018

Dynamics 365-Twitter Integration

Dynamics CRM always need integration with multiple system integration.
Basically, Dynamics CRM sales and marketing module always looking for more integration with social sites like Facebook, Twitter, LinkedIn etc.
 In my last project there was a requirement to integrate Dynamics CRM Marketing Campaign with Twitter. When organization create any new campaign/promotion organization need to spread tweet about that, so customer know about their campaign and promotions.
Here, I will tell how you can integrate your Dynamics 365 with Twitter.

Step1: - Create Application in Twitter. I will demonstrate how you can create application in Twitter.

Open given URL https://apps.twitter.com/ in browser and login with our organization twitter account.















Now click on “Create New App”. And provide your application details. In website textbox enter your company web address. If you do not have any web address, use can also use CRM online address. Make sure your web address should be accessible via web. Any local website will not work.






















Now click on “Create Your Twitter Application”.
























Now my Application is created with Consumer Key. We also need Access Token to complete our application. So, click on “Create my access token” button.
Now copy your Consumer Key (API Key), Consumer Secret (API Secret), Access Token, Access Token Secret keys and save for future use. Also make sure Access level should be “Read and Write”.
Now our first step is completed.

Step 2: - Create Custom Workflow.

We need to create custom workflow to send Tweet from Dynamics CRM.
Open visual studio and create a class library project


















Right click on project and select “manage nuget package” and write TweetSharp in search bar.
Now click on install button. It will TweetSharp.dll in your project.

















Now we need to pass keys at runtime, so we need to create input arguments for Keys and our message that needs to tweet.
Create new object of TwitterService class. And call SendTweet method.
Add signature to your project. And build the solution.
Now My custom workflow is created.

Step 3: - Create a Merged assembly.

In our custom workflow we have used external assembly to call twitter. So, we need to merge all assembly in single assembly.
We have multiple option to merge assembly in single assembly. But my favorite tool is https://ilmergegui.codeplex.com/ .
Download and install this ILMerge UI.































Open ILMerge and click on “Add assembly” and select three dependent assembly and one your custom workflow assembly.



















Now select your custom workflow assembly. Mark check “Sign with key file” option and select your project signing key. Also provide output location of assembly. Than click on “Merge” button.
Now your final assembly is created.

Step 4: - Register your assembly in Dynamics CRM/365.

Now are ready with our assembly. We just need to register this in Dynamics CRM/365 and start playing with this.
If you are using new version (9.0 or higher) of Dynamics 365 old Plugin registration tool will not work.
Now register your assembly.















Now our assembly is registered.

Step 5: - Create workflow in Dynamics CRM/365.

Login to your Dynamics CRM organization and create new process.
I am using Campaign entity to send tweet. Make sure your tweet field should not have text length greater than 280.
I am also using Campaign Status Details field (Status Reason) = “Launched” to send tweet.


















Now provide your Keys details that we stored in step 1. You need to provide key information in your custom workflow calling step.
Activate your workflow.

Step 7: - Send Tweet from Dynamics CRM/365.

Create a new campaign. Enter your promotion needs to tweet. Select status reason as “Launched”.















Save the record and check your tweeter account. You will see new tweet there.

Tuesday 16 January 2018

Dynamics CRM - Interview Part-2

Q: - Explain Sales module.
Ans: - In sales module mainly Activities, Lead, Opportunity, Contact, Account, Quote, Sales Order(Order), Invoice entities are used. There are few secondly entities Competitor, Product, Sales literature and Goal are also involved.
Sales cycle can be start as output of marketing or any direct call, email or other type of activity.

So, from activity we create Lead. Lead is first stage of sales module. Lead can be look as potential but have not qualified as potential. Lead contains information like Stakeholders, Competitor and some information about their organization. 


When Lead show some interest then we qualify the Lead. When lead qualified it creates Opportunity, contact and account record. Opportunity more focused on customer’s requirement and offered products.














Now based on request we need to create one or more quote to offer our customer. There should be one active quote on which current discussion with customer is going.

















When customer agreed on offered quote. We need to create Sales Order(Order) from quote. When we create an order, we have option to close opportunity as won or let the opportunity open.

We can create multiple order from Active/Won quote. Once order is completed make order as fulfilled.

















Than you need to create invoice. From invoice you can in-built invoice report. Once invoice confirmed make invoice as confirmed. Once Invoice is paid mark invoice as paid.















Note: - You cannot close any opportunity if any Quote is active or draft for that opportunity.

Sales module also contains some built in dashboard like “Sales overview dashboard”, “Sales Management”, “Sales Activity Dashboard”.

Sales Literature: - This can be used by both sales and marketing module. This provide single location of our document which are used to sent customer on regular basis.





















This is the brief of sales module. In next blog I will explain Goal management.

Dynamics CRM - Interview Part-1

Interview comes in our mind when we plan to switch out current company or start our career.
Being an interviewee, we should consider some basic question about company.
  • About Company brand
  • Company environment-Work life balance
  • Compensation
  • Your current and future position
  • Growth in new company

Before switching any company, we should think twice about above points.
I will try to make answer short and crispy, so it can be more useful. Major three points of any interview.

Basic/General question

                                    Basic or general questions are those which asked mostly in beginning of any interview.

Q: - Tell me about yourself.
Ans: - Hi, I am __Name__. I have done _Education_. In my family __very brief about family__. I had started my carrier in _year_ as __position__. Currently working as __current position__ in __Current company__. I have worked for __one past good project__ and __current project__. I like to listen music __two hobbies__.

This question asked to break ice of silence and help interviewer to understand about you. You should look and sound confident not over or less confident. Try do not speak on politics or religion. 


Q: - What is your greatest strength?
Ans: - In answer of this question keep mind the position for which you are giving the interview. Like I am good in technical or functional. I am a good team player and can also lead my team. I have good communication skill. I always have healthy relation with our client. Handling pressure.

Q: -What is your greatest weakness?
Ans: - This is a most important question. Some time it become cause of failure so be careful while giving any answer. Your answer should always be framed around positive aspects of your skills and abilities as an employee. Previously my communication was not so good but now its being good.   I always tried to follow the process and maintain document, sometime this create extra burden.

Q: -Three major achievement
Ans: -  Specify any certification you have done. Explain last project you have delivered. Any activity related to help in social cause like blood donation, involved with any NGO.

Q: -Why should we hire you?

Ans: - You should frame your answer in a way that makes your interviewer feel confident for the position you are interviewing. I can help to grow your organization with my technical and personal skills.


HR discussion
Q: - Why are you leaving your job?
Ans: - This is most wired question. Try to give some standard answer depend on situation. Like I want to work with a bigger organization. I am looking for job near my home. I am looking for some good opportunity in work and enhance my skills. 

Q: - What are your salary expectations?
Ans: - You should always have a figure in my mind. As per Indian IT market 30-40% hike is good.


Dynamics CRM Question Answers
Now I will try to focus in Dynamics CRM question and Answers.
There are two major aspects of Dynamics CRM. ( Functional and Technical)

Functional Questions: -

Q: - How many custom entities can we create in dynamics 365.
Ans: -1500
Q: - How many Attributes per entity can we create in dynamics 365.
Ans: - As per Microsoft document it says we can create 1024 attributes. But in actual scenario we can create only 983 attributes. This value also varies based on attribute type.
·         Custom string type attributes: 964
·         Out-of-box attributes: 19
When you try to create more, it will show below error: -

Attribute “attrbuteName” cannot be created because we have hit a maximum number of attributes allowed for an entity (1000).  Entity: “entityName”

Q: - Explain Marketing module.
Ans: - Marketing is a tool that used to grow your business. In marketing module mainly Marketing list (Leads, Accounts, Contacts), Campaign, Quick Campaign, Campaign Response and Activities entities are used. There are few secondly entities Leads, Opportunity, Account, Contact and Sales literature are also involved. Main task of marketing is to generate Lead for sales team through their campaign.

Marketing List: - It is set of target customer based on some criteria or fix list for which campaign needs to run. It can be dynamics based on some criteria or static list.

Quick Campaign: - Quick campaign involved single channel method to reach out your marketing list.

Campaign: - Campaigns are wider than quick campaign. It involved planning activity, budget, Campaign activities, multiple channels and schedule for your marketing list.
Campaign Response: - It is the result or outcome of your campaign. It is used to track marketing effort.

Marketing module also contains some built in dashboard like “Marketing Dashboard”, “Marketing Social Dashboard”.










Working: - Firstly we need to create a marketing list and need to provide information like List type, target (Lead, Contact, Account). 





























Now we need to use manage member option to add member in our marketing list.

















Now all members are added to your marketing list.













Now we need to use either Campaign or quick campaign to work on marketing list. Click on Quick Campaigns.












Provide name, activity type(channel), ownership of activities to your quick campaign.























If campaign need planning, budget, schedule information. We need to use Campaign option












Now we will add Campaign Activity and our marketing list to our campaign. We can add multiple marketing list and campaign activity in our campaign.
















Now we will distribute our campaign. It will create activities for this campaign activity.
We can manually or use some workflow to convert these activities to Campaign Response or Case or Opportunity.













We are creating this phone call activity in Campaign Response.















Now we are creating this response in Lead or other desired entity.
















This is the brief of marketing module. In next blog I will explain Sales Module.


Field Security Profile - Based on Owner

 Recently received requirement related to Field security profile. Expectation : - 1.       Set to users need access of secure attributes. 2....

Test