Microsoft Dynamics CRM and Social Networks integration

Size: px
Start display at page:

Download "Microsoft Dynamics CRM and Social Networks integration"

Transcription

1

2

3 CZECH TECHNICAL UNIVERSITY IN PRAGUE FACULTY OF ELECTRICAL ENGINEERING Master s Thesis Microsoft Dynamics CRM and Social Networks integration Bc. Petr Vůjtěch Supervisor: Ing. Pavel Náplava Study Programme: Electrical Engineering and Information Technology Field of Study: Computer Science, Software Engineering May 2012

4

5 Acknowledgements I would like to thank to Ing. Pavel Náplava, the supervisor of the thesis for his guidance, patience, valuable advices and comments. I thank to Zbyněk Pavelek (Zenithies group) for his assistance with CRM connection. I would also like to express my gratitude to my family and my girlfriend for necessary support that helped me to finish this thesis. I am thankful to my grandmother for her tasty lunches. My thanks belong also to Coca-Cola for inventing black sparkling drink that kept me awake during late night hours. v

6

7 Declaration I hereby declare that I have completed this thesis independently and that I have listed all the literature, publications and external sources used. I have no objection to usage of this work in compliance with the act x60 Zákon c. 121/2000Sb. (copyright law), and with the rights connected with the copyright act including the changes in the act. In Kynšperk on May 10, 2012 Bc. Petr Vůjtěch vii

8

9 Abstract The aim of the diploma thesis is to analyze, implement and test new software component that enables integration of social networks into Microsoft Dynamics CRM. This project is divided in two sections. First section is focused on the analysis of social networks and the capabilities of its connectivity to other systems. There is mentioned an overview of key features of Microsoft Dynamics CRM. The analysis leads to the specification of functional concepts whose usage is described. Technically the analysis is focused on API interface that is used for the integration. The outputs from the first section are used as inputs for the second section that deals with the implementation and testing of the software component. The appropriate technology has to be chosen first. The component will connect Microsoft Dynamics CRM with selected social networks. The testing will be accomplished based on the user experience and the requirements will be generalized. The final conclusion will summarize the technical and functional requirements for the social network integration. Abstrakt Cílem diplomové práce je navrhnout, implementovat a otestovat novou softwarovou komponentu, která umožní do existujícího produktu Microsoft Dynamics CRM integrovat funkčnost sociálních sítí. Práce bude rozdělena do dvou částí. První je zaměřena na analýzu sociálních sítí, možnosti jejich napojení do jiných systémů a seznámení se s produktem Microsoft Dynamics CRM. Smyslem analýzy je po funkční stránce specifikace bloků systému, které budou prostřednictvím komponenty na sociální sítě napojeny, a způsob jejich používání. Po stránce technické bude provedena analýza a návrh API rozhraní, přes které budou sociální sítě napojeny. Výstupy analytické části poslouží jako zadání pro druhou část, která bude zaměřena na vývoj a otestování komponenty. Prvním krokem bude výběr vhodné technologie pro realizaci komponenty. Následně bude komponenta vytvořena, napojena na produkt Microsoft Dynamics a na vybraných sítích ověřena její funkčnost. Ve spolupráci s reálnými uživateli bude vyhodnocena smysluplnost komponenty a budou zobecněny požadavky na používání komponenty. Tj. bude vyhodnoceno, co musí sociální sítě pro napojení do produktu splňovat jak po technické, tak i funkční stránce. ix

10

11 Contents List of Tables... xv List of Figures... xvi 1 Introduction Motivation for chosen topic Microsoft assignment The goals of the thesis Integration vision and contribution Social Networks CRM Customer relationship management Functional Analysis Social networks Business usage of social networks Classification of social networking Major social networks Microsoft Dynamics CRM Entities involved in the project Integration possibilities Facebook Twitter LinkedIn Google Blogs, RSS feeds Messenger YouTube MySpace Commercial solutions for MS Dynamics CRM Vibe Parrot InsideView Summary xi

12 2.5 Functional analysis evaluation Technical Analysis Facebook Facebook applications SKD Graph API JSON object Examples for calling Graph API and getting response Graph API Explorer Authentication Permission types FQL Facebook Query Language Twitter Twitter applications Twitter SDK REST API Streaming API Search API API explorer developer console Authentication OAuth Microsoft Dynamics CRM Solutions Microsoft Dynamics CRM 2011 Software Development Kit Web Services Silverlight Microsoft Dynamics CRM Online Authentication Application programing interface UML model Requirements Use Case Component diagram User interface layout Class model...42 xii

13 3.7 Programing language preference Implementation Running environment Web Application Database Microsoft Dynamics CRM integration Access and login information Create marketing campaign Add campaign responses Facebook integration Facebook application setup PHP SDK Facebook initiation Authentication against Facebook Publish to Facebook Gather from Facebook Gathering personal data Twitter integration Twitter application setup Twitter initiation Authentication against Twitter Publish to Twitter Gather from Twitter Gathering personal data Testing Authentication Publish stream Publish stream with short time interval for monitoring the campaign Publish stream with post to Facebook user wall Publish stream with post to Facebook Page wall Imperfections discovered during first iteration Gather stream Gather from Facebook user wall Gather from Facebook Page wall xiii

14 5.3.3 Gather from Twitter Key issues and interests Research and relevant information Microsoft Dynamics CRM integration development First solutions Sitemap customization Silverlight Cooperation with WBI Aleš Novotný Cooperation with Zenithies Zbyněk Pavelek Changes in analysis of twitter interaction Gathering personal data from social networks Gathering only newly added responses Performance optimization Further usage of gathered campaign responses Marketing responses from the same user Conclusion The thesis summarization Meeting the assignment and goals Project contributions Personal satisfaction Future upgrades of the application Gather relevant responses from social networks...75 References...77 Appendix...79 xiv

15 List of Tables Table 1: Number of social network users [2]... 6 Table 2: Facebook and CRM integration Table 3: Twitter and CRM integration Table 4: LinkedIn and CRM integration Table 5: Google+ and CRM integration Table 6: Blogs, RSS feeds and CRM integration Table 7: Messenger and CRM integration Table 8: YouTube and CRM integration Table 9: MySpace and CRM integration Table 10: User and friends permission [22] xv

16 List of Figures Figure 1: Sales pipeline...4 Figure 2: Types of social networks [1]...6 Figure 3: Social networks area segmentation [3]...7 Figure 4: MS Dynamics CRM Online Dashboard page...8 Figure 5: Account...9 Figure 6: Contact...9 Figure 7: Lead...10 Figure 8: Campaign...11 Figure 9: Product...12 Figure 10: Case...12 Figure 11: Activities...13 Figure 12: Vibe [5]...19 Figure 13: Parrot [6]...20 Figure 14: InsideView [7]...21 Figure 15: Facebook application...23 Figure 16: Graph API Explorer...26 Figure 17: Request for permission to Manage pages and Posts on them27 Figure 18: Access_token sequence [10]...27 Figure 19: Permission types Figure 20: Permission types Figure 21: Permission types Figure 22: Twitter application...30 Figure 23: Twitter API explorer [12]...32 Figure 24: Twitter authorization...33 Figure 25: OAuth Authentication Flow [13]...34 Figure 26: Solutions View...35 Figure 27: API design...37 Figure 28: UML Requirements...38 Figure 29: UML Use Case...39 Figure 30: UML Component diagram (version 1)...40 Figure 31: UML Component diagram (version 2)...40 Figure 32: User interface...41 xvi

17 Figure 33: UML Class Model Figure 34: Web application index.php Figure 35: Campaign Fields Figure 36: Facebook application settings Figure 37: Facebook application advanced settings Figure 38: Facebook permissions approval Figure 39: Twitter application settings Figure 40: Twitter login and authorization page Figure 41: Iframe in MS Dynamics CRM contact entity Figure 42: Campaign response actions Figure 43: Convert campaign response Figure 44: New type of Campaign: Social Media xvii

18

19 CHAPTER 1. Introduction 1 Introduction 1.1 Motivation for chosen topic The topic of the thesis was chosen based on my personal experience with information systems. In last few years I have been interested in ERP systems (Enterprise Resource Planning), CRM systems (Customer Relationship Management), Accounting systems. I also focus on internet marketing, SEO (Search Engine Optimization) and business process management. I have deployed various information systems as CRM, Accounting systems, Online booking systems. In 2010 I spent one semester in Singapore at Nanyang Technological University as an exchange student. The University is open to new trends and actual topics were discussed during lessons. I attended Managing Information Systems class and Knowledge Management class. In both classes the social networking issue was discussed and new applications used worldwide were presented as case studies. I find social networks interesting because they attract many users worldwide and they are dynamically improved. At Czech Technical University I studied classes (CPM Corporate Performance Management, ISP Information Systems and Processes) that are very close to my point of interest. These classes were organized by CZM (Centrum znalostního managementu Knowledge Management Center). Based on contact with CZM I could choose the topic of the thesis. Microsoft offered diploma thesis topics dealing with CRM, Social networks or Project management. 1.2 Microsoft assignment During meeting with Ing. Petr Hampejs (product manager Microsoft Dynamics CRM) we agreed on topic that combines Social networks and CRM. Petr Hampejs is the opponent of the thesis. The aim of the project has been to analyze the possibilities of integration social networks and Microsoft Dynamics CRM. Based on the analysis the software component should have been implemented and tested. My motivation was enhanced when Petr Hampejs suggested that successful project can be launched as commercial solution. This project should provide working application that might be foundation for future commercial application. 1.3 The goals of the thesis The aim of the diploma thesis is to analyze, implement and test new software component that enables integration of social networks into Microsoft Dynamics CRM. 1

20 CHAPTER 1. Introduction The analysis will present the integration possibilities from functional and technical perspective. The implementation will be realized according to chosen part of the analysis. That will be marketing information publishing on social networks. The implemented software component will be tested and testing results will be used to improve the application. 1.4 Integration vision and contribution Social networks have attracted enormous number of users in last few years. Social networking is a very dynamic environment that provides various pieces of information and therefore offers countless opportunities but also threads. Let s focus on the business view of this topic. Several companies use or deploy Customer Relationship Management information systems. The goal of using this system is to gather and organize data about customers. If we have a room full of information called social network the idea and questions are obvious. We should connect social networks with CRM systems! What piece of information should we gather? How to manage this information? How to improve the knowledge about our customers? The project should clarify how can be social networks used in companies. The project provides marketing tool that can publish text to social networks and gather the social networks interaction. All this activities are monitored in MS Dynamics CRM. 1.5 Social Networks Social network is a medium that enables its users to keep connection with the community. This connection is based on different types of communication. Mostly the user has to create personal or business profile first. The user can share information directly to other users or widely among the community. The piece of information can be represented as text message, picture, movie, link, reference to his activity, etc. Social networking has very dominant world-wide representatives as Facebook, Twitter, MySpace, LinkedIn, Delicious, etc. We can understand any discussion forum as a kind of social network. Blogs and its followers are also some community that shares information among each other. Chat, YouTube or any dating portals are also examples of social networks (in Czech Republic are popular following: Lide.cz, Spoluzaci.cz, LibimSeTi.cz). In international context I have to mention some social 2

21 CHAPTER 1. Introduction networks common in other countries (Russia Vkontakte, Brazil, India Orkut, China Qzone, South East Asia Friendster). The users of social networks are mostly considered as teenagers. But in fact the users are older - the majority is from 20 to 40 years old. This group of people is usually productive and that means they have purchase power. These users are suitable potential customers and the data about these customers can be managed by CRM software. Security is highly discussed topic in social networking. The more information user provide, the more it can be misused. On most networks the user can set-up visibility options and prevent the misuse but most users do not care much about this topic. 1.6 CRM Customer relationship management CRM is a system that manages information about customers. In last few years it has become a crucial data source for many companies worldwide. The company has to monitor the interactions with customers through several communication channels. Business activities are also monitored by CRM systems and that helps to meet customer requirements and needs. The business processes are supported by CRM software and internal workflows can automate some jobs as payment of the invoice, notifying expired contract or birthday wishes. Lots of CRM software presents the sales pipeline as a main reporting tool. The pipeline has the number of leads as an input and the number of closed cases as an output. In between there is business process defined by specific states. The pipeline is usually displayed as a cone. During the process some of the business opportunities fail and the count of business cases lowers. The cone can be evaluated in various measures as costs per unit, number of cases, total revenue, etc. 3

22 CHAPTER 1. Introduction Figure 1: Sales pipeline CRM systems require portability. Travelling salesman has to be able to access the data regardless the time and location. CRM should be accessible as offline client. The software should provide user interface that is suitable for mobile devices as tablets, smartphones or PDA. The security issue shouldn t be overlooked. The company uses personal information of the third party - about their customers. The law protects the customer personal information and the storage and usage of such data has to be managed. All users working with the data should follow the internal policies. 4

23 CHAPTER 2 Functional Analysis 2 Functional Analysis 2.1 Social networks Business usage of social networks I have to mention some practical hints from personal experience. Social networks are used as potential source of leads and new business opportunities It is a quick research tool. You can get quick response on announced product/activity. The result depends on number and structure of followers/fans/friends. Social networks enable communication with customers The interaction with customers supports branding. That means that the brand (name of the company) builds customers loyalty. Only some social networks are used as tool for B2B (business to business) The main business goal of social networks is to build relationship between the company and the customer or business partner Classification of social networking In terms of defining the implementation part of the thesis I have to clear following classification of social networking Internal vs. external social networking Internal social networking means interaction among internal workers. It enables collaboration among employees, teams or coworkers. It supports information sharing and supports the community. Internal social networks can be build-in solutions for complex information systems, apparently also for CRM. External social networking supports the interaction with the customers, suppliers and vendors. In fact network is a specific communication channel. Communication can be done by private messages, chats or posting public information the business profiles. The thesis deals with external social networking that is oriented towards customers. The focus is put on marketing issues. 5

24 CHAPTER 2 Functional Analysis Publish vs. Gather The publish stream represents primary purpose of active communication towards customers as e.g. marketing campaigns, actual news, business announcements. These information need to collect responses and reactions that should be evaluated or proceed. The gather stream means passive collection of information available on the social networks. We can gather data such interests, friendships, education and get to know the customer. Based on such data we can systematically adjust our offers to make it attractive for the customer. The thesis focuses on the publish stream. After publishing the information the responses have to be stored and processed Major social networks Social networks are used by specific communities. In this thesis we want to target customer worldwide with large base of users. We are aiming to publish information to external users (external social networking, publish stream). Figure 2: Types of social networks [1] Table 1: Number of social network users [2] 6

25 CHAPTER 2 Functional Analysis Figure 3: Social networks area segmentation [3] Based on specified needs I have chosen following social networks for deeper analysis. Facebook Twitter LinkedIn Google+ Blogs, RSS feeds Messenger (any type) YouTube MySpace 7

26 CHAPTER 2 Functional Analysis 2.2 Microsoft Dynamics CRM According to the thesis I had to study principles and functions of Microsoft Dynamics CRM very deeply. Microsoft Dynamics CRM offers a 360-degree view of the customers and the business. It is very powerful and robust tools that can easily collaborate with other Microsoft products. It has to be properly customized before it is used in a real business. The Microsoft Dynamics CRM can be used either Online as cloud solution or On-premise as an application built-in the Microsoft Outlook. For the purpose of the thesis the online account was set up. Figure 4: MS Dynamics CRM Online Dashboard page Entities involved in the project Based on my studies I have identified following entities that are involved in the Social network integration. The screenshots show basic data that the entities work with. 8

27 CHAPTER 2 Functional Analysis Account Accounts represent companies that the organization may do business with. Figure 5: Account Contact Contacts are people who represent customers or potential customers, or someone related to an account (a company that might do business with the organization.) Figure 6: Contact 9

28 CHAPTER 2 Functional Analysis Lead Leads represent potential customers who have not yet been qualified by the sales process. As leads are qualified, they can be converted to other types of records. For example: converting a campaign response to a lead, and then converting the lead to an account, contact, or opportunity. Figure 7: Lead 10

29 CHAPTER 2 Functional Analysis Campaign Campaigns are marketing programs that use many communication vehicles to accomplish specific results. For example, using advertisements and direct mail to increase market share, introduce new products, or retain customers. Figure 8: Campaign 11

30 CHAPTER 2 Functional Analysis Product Products are any items in the product catalog. Products can be linked to other records, including quotes, campaigns and cases. Figure 9: Product Case A customer service issue or problem reported by a customer and the activities that customer service representatives use to resolve it. Figure 10: Case 12

31 CHAPTER 2 Functional Analysis Activities Actions to be performed, such as tasks, or communication items that are sent or received, for example, s, phone calls, letters, faxes, and appointments. The status of activities is tracked and the activity history is stored in the system, so users can view the open and closed activities. Figure 11: Activities New sitemap item: Social Media New sitemap item means newly created section in the left menu that would manage social media. [4] 2.3 Integration possibilities Following table shows possible relationships between social networks and entities from MS Dynamics CRM Facebook CRM entity Account Facebook 1) Display the wall of Accounts business FB site. Given information is too general and not relevant 2) Upload profile picture from the network as company logo 3) Use the FB messages to communicate with the company 13

32 CHAPTER 2 Functional Analysis Contact Lead Campaign Product Case Activity New sitemap item: Social Media Table 2: 1) Display the FB wall of the contacts. Constraints by user s privacy policies. Given information represents recent activity of the user. 2) Publish information to the wall of contact to attract his friends as potential customers. 3) Use the FB messages to communicate with the contact. 4) Useful for HR department when recruiting 5) Upload profile picture from the network Lead was created by one of following social media interaction. 1) Someone liked (button like) marketing information on my company's Facebook wall. This lead was created as response to campaign that was presented in social media networks. Parameters: Source is Facebook. Source campaign is defined. 2) Someone liked company's profile on Facebook. 3) Internal worker converted one of customers Facebook activity into a lead 4) Internal worker converted one of the responses from social media type of campaign into a lead 1) Type of campaign is specified as Social media campaign. New Tab/Section allows posting information directly into the social media profile of the company. Responses (comments/likes) are automatically monitored as campaign responses. Campaign responses can be converted to leads by internal worker 2) Type of campaign is specified as direct social network message. Customized message is sent to customers as Facebook message. Responses and likes are automatically monitored as campaign responses. (campaign responses can be converted to leads by internal worker) I have specialized Facebook site or Facebook group for my product. I allow Facebook discussion about this product. This discussion can be displayed in the product entity in CRM. Case was created by one of following social media interaction. 1) Internal worker converted one of customers Facebook activity into a lead. Facebook activity means either post from customers wall or customers comment on company's Facebook site 2) Internal worker converted customers Facebook message into a case 1) In CRM new type of activity has to be created - Facebook message 2) Other activities have to be recorded, especially the connections of activities and entities Should allow managing company's public Facebook site and allow converting fans activities into leads or cases. Facebook and CRM integration 14

33 CHAPTER 2 Functional Analysis Twitter CRM entity Twitter Account Contact Twitter functionality is very similar to Facebook. The functions should Lead be same as for Facebook. Twitter and Facebook are same in following: Campaign wall, private messages Product It differs in: Case Facebook sites don't exist in twitter. Twitter has only profiles. Activity Facebook friends refer to followers. New sitemap Facebook like refers to twitter favorite. item: Social Twitter is limited in the size of tweet (140 characters) Media Table 3: LinkedIn CRM entity Account Contact Lead Campaign Product Case Activity New sitemap item: Social Media Table 4: Twitter and CRM integration LinkedIn 1) Enable to identify employees of the company and convert them into contacts 2) Useful to watch competitors and their employee potential 1) The best social network used by HR department for recruiting purposes 2) The contact details can be compared with the information filled in LinkedIn profile LinkedIn offers are presented as a place for business opportunities, but I don't find it relevant. The only way is to qualify lead from discussions from section Questions and Answers. I don't find it relevant. Product can be discussed in Questions and Answers section. From here we can identify leads. I don't find it relevant. In CRM new type of activity has to be created - LinkedIn message. That will be used just for HR department needs. Just for HR department needs. You can store the search results in the paid version of LinkedIn. That could be used for screening the specific segment. LinkedIn and CRM integration 15

34 CHAPTER 2 Functional Analysis Google+ CRM entity Google+ Account Contact Lead Usable functions are: customer s wall and direct message via Gmail. Campaign Business pages were launched in spring Google+ can be used in Product similar mode as Facebook or twitter. Google+ is a big question for the Case future. We don't know if the competition with strong networks will be Activity successful. The development of this network is very intensive during New sitemap these months. item: Social Media Table 5: Google+ and CRM integration Blogs, RSS feeds CRM entity Account Contact Lead Campaign Product Case Activity New sitemap item: Social Media Table 6: Blogs, RSS feeds 1) Display the blog of account. Given information is too general and not relevant 1) Display the blog of the contact. Given information represents recent activity of the user. Lead can be created from response in my company's blog. 1) Type of campaign is specified as Social media campaign. New Tab/Section allows publishing information into the blog as a new post. Responses (comments) are automatically monitored as campaign responses. (campaign responses can be converted to leads by internal worker) 1) Each product can have own blog. The blog can be managed directly from entity Product. 2) Comments can be converted to leads or cases. Case can be created from response in my company's blog. New CRM activities: post to blog, blog comment. Manage controlled blogs Blogs, RSS feeds and CRM integration 16

35 CHAPTER 2 Functional Analysis Messenger CRM entity Messenger Account Contact Lead Campaign Messenger can be used as a communication tool. It involves defining Product new type of activity that is similar to or direct Facebook/Twitter Case messages. Activity New sitemap item: Social Media Table 7: YouTube CRM entity Account Contact Lead Campaign Product Case Activity New sitemap item: Social Media Table 8: Messenger and CRM integration YouTube 1) Display accounts channel. Given information is too general and not relevant 1) Display contacts channel. Given information represents recent activity of the user. Lead can be created from comment/like on YouTube movie/channel. YouTube used as marketing document for specific campaign Comments and likes can be sources for leads and cases. YouTube used as marketing document for specific product Case can be created from comment/like on YouTube movie/channel. New activities: channel comment, post movie Manage YouTube channel through IFRAME YouTube and CRM integration 17

36 CHAPTER 2 Functional Analysis MySpace CRM entity My space Account Contact Lead Campaign Not part of this thesis. This social network is typical especially for US Product marketplace (not worldwide). The characteristics are similar to Case Facebook. Activity New sitemap item: Social Media Table 9: MySpace and CRM integration 2.4 Commercial solutions for MS Dynamics CRM When searching for existing solutions the term Social CRM has to be clarified. Social Networks + CRM = Social CRM Following solutions were discovered by searching following key words and their combinations: social networks, microsoft dynamics crm, social CRM, Facebook integration, twitter integration. This topic is discussed a lot but only 3 solutions were discovered. They are builtin MS Dynamics CRM: Vibe, Parrot and InsideView. I can declare that there is a lack of supply on the market. Quality new product seems to have quite good chance to succeed on the market. 18

37 CHAPTER 2 Functional Analysis Vibe Vibe Social Networking for Microsoft Dynamics CRM producer location brief description link price - purchase Sonoma partners USA, Chicago Vibe is an internal social network integrated into MS Dynamics CRM. It enables collaboration among teams and users based on publishing updates, questions etc. with system generated notification. Users select the feeds to which they want to subscribe se they the most relevant information as resolving case, winning opportunity, milestones, etc. It rapidly lowers the number of internal s. on demand Figure 12: Vibe [5] 19

38 CHAPTER 2 Functional Analysis Parrot Parrot - Social CRM for Microsoft Dynamics CRM producer location brief description link Webfortis USA, California Parrot is an external CRM integrated into Dynamics CRM. It is a single interface for Facebook, Twitter and LinkedIn. Responses can be converted to cases, leads, contacts or accounts. CRM graphical dashboards to track social media effectiveness and utilization. price - purchase Figure 13: Parrot [6] 20

39 CHAPTER 2 Functional Analysis InsideView InsideView producer location brief description link price - purchase InsideView Technologies, Inc. USA, San Francisco InsideView is external CRM with gathering features. The aim is to provide 360 degree information about the entity. This information is gathered from various social networks. With just one-click, InsideView enables you to add new or enrich existing data for Accounts, Leads, or Contacts with the most accurate and comprehensive company and contact information. Beyond LinkedIn, InsideView helps reps connect with prospects through their personal and extended professional networks including colleagues, former colleagues, and reference customers. InsideView can be integrated into several CRM systems. different editions of system, prices from 29/user/month Figure 14: InsideView [7] Summary Existing tools provide various functions. All of them are implemented as built-in solutions in MS Dynamics CRM. Vibe is used for internal purposes. Parrot needs to be monitored by internal worker. InsideView is quite costly solution. My idea of integration is similar to Parrot. I prefer to gather responses in more automated way. I prefer independent software component that can be connected not only with MS Dynamics CRM, but also with other CRM system. 21

40 CHAPTER 2 Functional Analysis 2.5 Functional analysis evaluation The analysis shows that there are several options for the integration of social networks and Microsoft Dynamics CRM. I would like to focus on the marketing CRM entity. In terms of marketing it could be very time consuming to manage several social networking sites. I suggest control social networks from one application. The CRM integration will be focused to marketing module creating new campaigns and collecting responses. Connected social networks will be Twitter and Facebook. The software component should be independent web application that posts information to social networks and creates marketing campaigns and collect interaction as marketing campaign responses. 22

41 CHAPTER 3 Technical Analysis 3 Technical Analysis The technical analysis represents the knowledge base necessary for the implementation. All important technical aspects of social networks and MS Dynamics CRM are clarified in this chapter. For implementation of the integration component this knowledge is essential. Following chapter Implementation assumes that user understands basic concepts described in this chapter. The programming language choice is discussed at the end of this chapter. 3.1 Facebook Facebook offers wide range of connectivity for the developers. All capabilities are documented at the Facebook developer site For two way communication with Facebook is used Graph API, that will be discussed later. Old REST API is still working but the official announcement in December 2011 deprecated the REST API. Note: Deprecating the REST API does not mean we are removing it, but we are actively encouraging all developers to use the Graph API for any new apps and to move existing apps to use it, as well. Moving forward, all new features will only be available in the Graph API and the level of support will be higher on a non-deprecated API. [8] Facebook applications Facebook applications give the opportunity to integrate the core Facebook experience. We will go through setting up process of an application. Each app has Canvas Page. Canvas page is the Page in which your app is loaded. For the purpose of the thesis following app was created. Figure 15: Facebook application 23

42 CHAPTER 3 Technical Analysis SKD SDK is used to facilitate the access to API. It enables to call functions of Graph API and authentication process. Several programing languages are supported by following development kits: JavaScript SDK PHP SDK (for PHP 5) Python SKD ios SDK (platforms for iphone, ipod, ipad) Android SDK Others Originally Facebook supported wide palette of programing languages but when Graph-API come to the scene at the end of year 2010 this support was finished. Other SDK packages are available from third parties for number of programming platforms (.NET SDK, java-facebook-api) Graph API Graph API is new object oriented API for accessing Facebook data. It allows both read and write. Social graph is represented by objects (e.g., people, photos, events, and pages) and the connections between them (e.g., friend relationships, shared content, and photo tags). Every object in the social graph has a unique ID. With this ID the properties of the object can be accessed by posting JSON object The result of the message is a JSON object. JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. [9] JSON is built on two structures: A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. 24

43 CHAPTER 3 Technical Analysis Examples for calling Graph API and getting response Example 1 For example, the official page for the Facebook Platform has id , so you can fetch the object at You get the following response: { "name": "Facebook Platform", "website": " "username": "platform", "founded": "May 2007", "company_overview": "Facebook Platform enables anyone to build...", "mission": "To make the web more open and social.", "products": "Facebook Application Programming Interface (API)...", "likes": , "id": , "category": "Technology" } Example 2 Assume that ID represents my last status. - the response has names and IDs of people who liked my comment { "data": [ { "id": " ", "name": "Tomas Turek" }, { "id": " ", "name": "Lukáš Jůza" }, { "id": " ", "name": "Jirka Menšík" }, { "id": " ", "name": "Jakub Reznicek" } ], "paging": { "next": " acebook.com/ /likes?f ormat=j son&li mit=2 5&offset=25& after_id= " }} 25

44 CHAPTER 3 Technical Analysis Graph API Explorer GraphAPI Explorer is a tool that helps user to: Make requests to the Graph API and see formatted results in-line. Explore the connections for each object and view field descriptions to help you understand what the response means. Easily obtain an access_token with the specific permissions necessary to access the data you need to optimize your app for users. The Select Permissions dialog allows you to select the specific user data, friends data or extended permissions needed. The Explorer then shows you the same permissions dialog your users will see when you request these permissions in your production app. Figure 16: Graph API Explorer 26

45 CHAPTER 3 Technical Analysis Authentication Authentication gives your app the ability to know the identity of a Facebook user, and to read and write data via Facebook's APIs. The Facebook Platform uses OAuth 2.0 for authentication and authorization. A successful authentication flow results in your application obtaining a user access_token which can be used to make requests to Facebook's APIs. Figure 17: Request for permission to Manage pages and Posts on them If user authorizes the application the permission is stored. During next access to the application the permission request is not displayed. Figure 18: Access_token sequence [10] 27

46 CHAPTER 3 Technical Analysis Permission types Developers can access Permission documentation on this web address: Figure 19: Permission types 1 Figure 20: Permission types 2 28

47 CHAPTER 3 Technical Analysis Figure 21: Permission types Permission example It's possible to programmatically check which permissions a user has granted your application by performing an HTTP GET on: It s also possible to programmatically revoke a permission which a user has previously granted your application by performing an HTTP DELETE on: R_ACCESS_TOKEN FQL Facebook Query Language The FQL object enables running FQL queries using the Graph API. Facebook Query Language, or FQL, enables you to use a SQL-style interface to query the data exposed by the Graph API. It provides for some advanced features not available in the Graph API, including batching multiple queries into a single call. [11] 29

48 CHAPTER 3 Technical Analysis 3.2 Twitter Twitter is also opened to developers and the documentation is presented on site The developer site doesn t have simple examples but the discussion forums are good source of such information. Twitter offers REST API, Streaming API, Search API. It has also Twitter SDK for easier development on PHP platform Twitter applications The core principle of application is similar to previous Facebook applications. For the purpose of the thesis following app was created. Figure 22: Twitter application 30

49 CHAPTER 3 Technical Analysis Twitter SDK Twitter SDK. Other SDKs especially for mobile devices or PHP can be searched on the internet REST API REST API is elementary API that supports gathering information from Twitter and publishing information to Twitter. By HTTP method GET we can display different statuses according to input parameters, search for posts or users, read private messages, get the list of friends, etc. Method POST publishes new posts, sends messages, follow some profile, etc. We have to have write permission Streaming API Streaming API is used only for reading tweets in real-time for large amount of user. User Streams: Nearly all data required to update a user's display. Requires the user's OAuth token. It provides public and protected statuses from followings, direct messages, mentions and other events taken on and by the user. A large number of User Streams may not be created from the same host or service. For example, an application that displays a few accounts at once may open a connection per account. The primary use case is providing updates to a Twitter client. Site Streams: BETA Allows multiplexing of multiple User Streams over a Site Stream connection. Once more than a handful of User Streams connections are opened from the same host or service, Site Streams must be used. The primary use case is website and other service integrations Search API Search API is used for quick search among tweets. The search area can be wide or reduced to tweets of one user. It has some limitations, parameters for number of results etc. but this API is not important for purposes of the thesis. 31

50 CHAPTER 3 Technical Analysis API explorer developer console The API can be explored by using the console provided by Together with the REST API reference it is powerful tool to for exploring objects ant its parameters. Figure 23: Twitter API explorer [12] 32

51 CHAPTER 3 Technical Analysis Authentication Twitter uses OAuth to provide authorized access to its API. It has following features Security - Users are not required to share their passwords with 3rd party applications, increasing account security. Standard - A wealth of client libraries and example code are compatible with Twitter's OAuth implementation. The application asks for authorization similarly as Facebook app. Figure 24: Twitter authorization 33

52 CHAPTER 3 Technical Analysis 3.3 OAuth In this paragraph will be described how the authentication process works. Imagine universal method that enables to access Twitter data without sending the password from your web application. In the web application the user selects to log into his Twitter account. In fact he is forwarded to twitter site where he can log in. In some kind of form he confirms that the web application has permission to access some kind of data for specified time. The key is exposed for specified service, specified purpose and specified time. That eliminates the risk of misuse. The valuable log-in data flow only between the user and Twitter. Figure 25: OAuth Authentication Flow [13] 34

53 CHAPTER 3 Technical Analysis 3.4 Microsoft Dynamics CRM Microsoft Dynamics CRM is based on.net platform that is opened for developers. Most information for developers is available on Solutions Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online. Customizers and developers distribute solutions so that organizations can use Microsoft Dynamics CRM to install and uninstall the business functionality defined by the solution. There are two types of Microsoft Dynamics CRM solutions: Unmanaged and Managed. A managed solution is a completed solution that is intended to be distributed and installed. An unmanaged solution is one that is still under development or is not intended to be distributed. When the unmanaged solution is complete and you want to distribute it, export the unmanaged solution and select the option to package it as a managed solution. [14] Figure 26: Solutions View Microsoft Dynamics CRM 2011 Software Development Kit The Microsoft Dynamics CRM 2011 Software Development Kit (SDK) is for developers, system customizers, and report writers. This SDK documentation contains information for developers writing server side code, custom business logic, integration modules, workflow assemblies, and plug-ins. It provides an architectural overview of Microsoft Dynamics CRM, the entity model, security model, and Web services. Sample code and walkthroughs are provided to guide you through the new features. It also contains information for developers customizing the Web client or Microsoft Dynamics CRM for Microsoft Office Outlook, including scripting, integration of custom Web 35

54 CHAPTER 3 Technical Analysis pages, and lots of sample code. SDK can be downloaded at: Web Services For Microsoft Dynamics CRM Online, the CrmDiscoveryService Web service can provide a list of Web service endpoint URLs for each organization that you are a member of. In addition, this Web service is used to obtain a policy and CrmTicket that are required for Windows Live authentication. This information is then used to configure the CrmService and CrmMetadataService Web service instances. [15] Silverlight Silverlight is a powerful development platform for creating engaging, interactive user experiences for Web, Desktop and mobile applications when online or offline. [16] Microsoft Dynamics CRM Online Authentication There are several methods of authenticating with Microsoft Dynamics CRM Online. Each depends on the type of application that is trying to authenticate Client-to-Server Authentication A client application (console application, or a Windows Forms application) authenticates with Microsoft Dynamics CRM Online by using a Client-to-Server scenario where Microsoft Dynamics CRM Online is the server Server-to-Server Authentication The Server-to-Server authentication scenario is used when a non-microsoft Dynamics CRM Web service, Windows service, or ASPX page has to authenticate and access the Microsoft Dynamics CRM Online Web services. This type of authentication scenario is typically performed in the background and requires no user interaction Server-to-Server Authentication with Impersonation The Server-to-Server with Impersonation scenario requires user interaction where the user fills out Microsoft Dynamics CRM Online logon information in a form. In that scenario, all Microsoft Dynamics CRM Online Web service calls are performed on the user's behalf by using impersonation. 36

55 CHAPTER 3 Technical Analysis 3.5 Application programing interface The web application has entries that represent application programing interface. For clearness the API is specified by the UML notation. The library for calling API functions is not part of the thesis. Figure 27: API design 3.6 UML model The UML model is a necessary part of the analysis. The UML documentation was made in Enterprise Architect 8.0. This environment enabled the automatic generation of the RTF documentation that was formatted for purposes of the thesis. Requirements and Use-case diagrams reflect the functional analysis results in the UML notation. The most important model for understanding the structure of the created web application is the Component diagram. The screen model clarifies the layout of the application. In more complex application with many user screens it is very helpful diagram. The Class diagram describes the database structure. 37

56 CHAPTER 3 Technical Analysis Requirements The requirements model is one of the pillars of analysis. The aim is to specify the product characteristics. Requirements are clarified and used in use case diagram. Figure 28: UML Requirements 38

57 CHAPTER 3 Technical Analysis Use Case Each use case represents action that can be done when using the system. The scenarios for each use case are represented by clicking on appropriate button, link or checkbox on the index page of the application. Figure 29: UML Use Case 39

58 CHAPTER 3 Technical Analysis Component diagram A Component diagram illustrates the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies. A Component diagram has a higher level of abstraction than a Class diagram. The first version of the diagram shows basic and components and their communication interfaces. The second version contains also other components that are necessary for the complex system. The second version emphasizes the component structure and therefor interfaces are not mentioned. Figure 30: UML Component diagram (version 1) Figure 31: UML Component diagram (version 2) 40

59 CHAPTER 3 Technical Analysis User interface layout A Screen is used to prototype User Interface screen. By using UML features solid understanding of user interface can be built up without having to use code. This becomes an excellent means of establishing the precise behavior the system has from a user perspective, and in conjunction with the Use Case model, defines exactly how a user gets work done. Figure 32: User interface 41

60 CHAPTER 3 Technical Analysis Class model The Class diagram captures the logical structure of the system. It is a static model, describing what exists and what attributes and behavior it has, rather than how something is done. Class diagrams are most useful to illustrate relationships between Classes and Interfaces. Generalizations, Aggregations and Associations are all valuable in reflecting inheritance, composition or usage, and connections, respectively. Figure 33: UML Class Model 42

61 CHAPTER 3 Technical Analysis 3.7 Programing language preference Social networks development prefers in general language PHP. It is mostly targeted to integrate social networks into websites or portals. In comparison with other programming languages the information about PHP is easier to reach. On the other hand Microsoft prefers.net platform. Preferred language is VisualBasic or C#. For Dynamics CRM integration purposes seems the ASP (Web application framework) most suitable. Silverlight is another technology that is focused on writing rich internet applications. Silverlight application (.xap) can be imported as web resource. Based on my experience with is the PHP programming language the most suitable choice. The issue of PHP and CRM connection has to be resolved to make the project successful. When using PHP languages HTML, CSS and MySQL DB has to be considered. 43

62

63 CHAPTER 4 - Implementation 4 Implementation The implementation chapter describes important parts of code. The chapter is divided into parts that correspond with single components from the UML Component Diagram. The PHP programming language was chosen because the author has already experience with it. PHP is the most suitable language for programming social networks interaction because PHP SDK libraries are available. The application was created also with other technologies: HTML, CSS, Javascript. 4.1 Running environment The application is running at personal domain PHP Version: Server: ONEbit.cz (Apache) MySQL version: Charset MySQL: UTF-8 Unicode (utf8) With login information into MS Dynamics CRM anyone can use or test this application (Note: MS Dynamics CRM license will expire in July 2012). Server: User (Windows Live ID): crmintegrator@hotmail.cz Password: petrvujtech 4.2 Web Application The main screen enables user to input text that he wants to publish in social media as Facebook or Twitter. The application can count number of characters because of Twitter tweet limitation. Maximum character count in the tweet is 140 chars. Javascript function tells user when the number of character exceed 140. Longer text can be entered. Each publish script reduces the length of publish stream as necessary. The user can choose by checkboxes which social network he wants to use. The user can also choose if he wants to store the post as a marketing campaign in MS Dynamics CRM. The post responses in social networks can be gathered by the application and they are stored into MS Dynamics CRM as campaign responses. For interaction with social networks the user has to authenticate first. Color status indicators represent authentication status (red not authenticated, green - authenticated). 45

64 CHAPTER 4 - Implementation Each campaign can be monitored for specified time. Responses are gathered only if the post was published into CRM. Responses of logged user are not gathered. The Facebook user can choose where he wants to post the text. First option is to post it on the user s wall. The second option is to post to Facebook page wall. The logged user has to be the administrator of such page. The post is made by the Facebook page (not by the page administrator). The Facebook page post is displayed in the timeline. Figure 34: Web application index.php 46

65 CHAPTER 4 - Implementation 4.3 Database The Web application needs to cooperate with database because of following reasons. Posts can be monitored for various time ranges. When gathering responses we need to distinguish responses that were already gathered and responses that are new and need to be processed. The database structure reflects the UML Class Diagram. The database create script is shown in the Appendix. 4.4 Microsoft Dynamics CRM integration Microsoft Dynamics CRM connection is realized through application provided by Zbynek Pavelek (Zenithies). The entities in MS Dynamics CRM are created when parameters are set appropriately. The script returns ID of the parameter. Initial problems with authentication and with Zenithies server firewall were solved. In MS Dynamics CRM was new user (crmintegrator@hotmail.cz) created (Settings -> System -> Administration -> Users). The user login data were stored to Zenithies server Access and login information There is 30-day free trial version of MS Dynamics CRM Online that provides full functionality. For the purpose of the thesis the 30-day license was extended for longer period until June Server: User (Windows Live ID): crmintegrator@hotmail.cz Password: petrvujtech 47

66 CHAPTER 4 - Implementation Create marketing campaign When creating marketing campaign the file crm/publish_dynamics.php is called Fundamental code elements By crul the main information is sent to server User and password information is stored on the Zenithies server. Entity name and parameters were set according to CrmService Entities library. [17] $target = ' $post = array( 'data' => base64_encode(serialize( array( 'entity' => 'campaign', 'fields' => array( length is 128 'name' => substr($publish_stream, 0, 120), //max 'objective' => $publish_stream, // offer 'statuscode' => '2', //Launched 'typecode' => ' ', // type 'proposedstart' => $today, // m.d.y 'proposedend' => $expire_date, // m.d.y 'actualstart' => $today, // m.d.y 'actualend' => $expire_date, // m.d.y ); )) ) ) $ch = curl_init ($target); curl_setopt ($ch, CURLOPT_POST, true); curl_setopt ($ch, CURLOPT_POSTFIELDS, $post); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); $crm_newest_post_id = $result; Variable $publish_stream is set when submitting the form. The maximal length of the field name is limited up to 128 characters. [18] Other parameters such statuscode and typecode are set based on MS Dynamics CRM customization. The dates are calculated in the script by PHP. The script returns 48

67 CHAPTER 4 - Implementation ID of created campaign in CRM. It is stored as $crm_newest_post_id. The ID is used later for storing Campaign responses Customization of MS Dynamics CRM The CRM has to be customized first. Customizations are packed in the solution Marketing Campaign. The status code represents launched campaign. New type of campaign - Social Media was set. The customization process is attached in the Appendix. Following screenshot shows how to set the parameters. Figure 35: Campaign Fields The views for Campaigns were edited. All Campaigns and Campaign Templates view was set as default view. The structure of columns was edited. The views customization is attached in the Appendix Add campaign responses Campaign responses are stored to CRM when the gather script for Facebook fb/gather_facebook.php or script for Twitter tw/gather_twitter.php is in action Fundamental code elements The code for adding campaign responses is similar to the code for adding marketing campaigns except there are some changes in parameters. Following example represents gathering Facebook LIKE. Maximal length of field subject is 200 characters. [19] 49

68 CHAPTER 4 - Implementation $import_array = array ( 'subject' => 'LIKE', 'firstname' => $ret_obj_03[0]['first_name'], 'lastname' => $ret_obj_03[0]['last_name'], 'regardingobjectid' => $crm_post_id, // ID of parent campaign ); 'responsecode' => ' ', // response Facebook LIKE 'channeltypecode' => ' ', // channel Facebook 'prioritycode' => '0', // priority LOW 'receivedon' => $today, // m.d.y $post = array( 'data' => base64_encode(serialize( array( 'entity' => 'campaignresponse', 'fields' => $import_array ) )) ); For facebook comment and twitter retweet are gathered texts. The Campaign ID is represented by variable $crm_post_id. Parameter such responsecode and channeltypecode are set based on MS Dynamics CRM customization. Prioritycode is Low (0) for Facebook LIKE, Normal (1) for Facebook Comment and Twitter Retweet. The script returns ID of the response which is stored into database later Customization of MS Dynamics CRM Customizations are packed in the solution Marketing Campaign. The responsecode is Facebook LIKE ( ), Facebook Comment ( ) or Twitter Retweet ( ). The channeltypecode is Facebook ( ) or Twitter ( ). The customization process is attached in the Appendix. 4.5 Facebook integration Facebook application setup The Facebook application has to be setup first. The admin needs own Facebook account and access to The name of application created is Microsoft Dynamics CRM connector. App ID and App Secret are used in the program code. Sandbox mode can be switched on/off in advanced setting. If enabled, only app developers will be able to see app. It is good for testing purposes. The canvas URL means content pulled from this base URL to iframe on Facebook. 50

69 CHAPTER 4 - Implementation Figure 36: Facebook application settings Figure 37: Facebook application advanced settings App ID and App Secret have to be set in file: fb/config.php. The file is included into files index.php and fb/index.php. $app_id = " "; $app_secret = "fd92ae61b63aac941ce824de8af2e9bc"; 51

70 CHAPTER 4 - Implementation PHP SDK The PHP SDK is used in the application. The PHP SDK provides a rich set of server-side functionality for accessing Facebook s server-side API calls. These include all of the features of the Graph API, FQL, and the Deprecated REST API. TH SDK is stored in folder fb/fbsdk/ Facebook initiation User can choose if he wants to post to his wall or if he wants to post to Facebook page wall that he administrates. Variable $facebook_id indicates the author of new post (it can be the user or the Facebook page itself). For this purposes we need also variables $fb_id_is_page and $facebook_logged_user_id. When posting as a page the $page_access_token['access_token'] is set. The index.php sets important variable $facebook that is used through the application for all API calls. $facebook = new Facebook(array( 'appid' => $app_id, 'secret' => $app_secret, 'cookie' => true, 'fileupload' => true, )); Authentication against Facebook The key function finds if user is logged into Facebook if ($facebook->getuser()) The function returns logged user ID. If the result is empty user can log in <a href="fb/index.php">log INTO FACEBOOK</a> The permissions are specified array('scope' => 'read_stream, publish_stream, manage_pages, friends_website, user_website, , user_photos')); The file fb/index.php redirects user to login URL $login_url = $facebook->getloginurl <script type="text/javascript">top.location.href = "'.$login_url. '"; </script> The user is redirected to login page 52

71 CHAPTER 4 - Implementation After login the user confirms required permissions Figure 38: Facebook permissions approval After the approval is the user redirected to the canvas URL. The canvas URL is set as fb/index.php. Based on the existing result of function $facebook->getuser() the user is redirected to the main script. Now we can use the main window as logged Facebook user. The important decision maker in fb/index.php is displayed below. if (! $facebook->getuser()) { echo '<script type="text/javascript">top.location.href = "'.$login_url.'";</script>'; exit; } else { echo '<script type="text/javascript">top.location.href = "../index.php";</script>'; } Publish to Facebook Publishing to Facebook is enabled only to authenticated users. The script fb/publish_facebook.php is called. If the post is made as Facebook page the access token is used in the API call. $facebook->api("/".$facebook_id."/feed", "post", array( 'message' => $wallpost, 'access_token' => $page_access_token['access_token'], )); 53

72 CHAPTER 4 - Implementation The maximum length of a Facebook status update has been increased to 63,206 characters. So the length of the message parameter is not limited. [20] For future gathering we need to know the new post ID. It is retrieved from Facebook by FQL query and stored into variable $fb_newest_post_id. $fql = 'SELECT status_id FROM status WHERE uid='. $facebook_id; $ret_obj = $facebook->api(array( 'method' => 'fql.query', 'query' => $fql, )); $fb_newest_post_id = $ret_obj[0]['status_id']; Gather from Facebook For gathering from Facebook the script fb/gather_facebook.php is called. When gathering from Facebook we have to identify relevant posts first. From the DB are selected posts that were stored into CRM. The posts have to be valid not expired. $SQL = "SELECT * FROM posts WHERE( (date_expire > curdate()) AND (publish_dynamics = 1) AND (publish_facebook = 1) );"; The FOR cycle works with all relevant posts. Each posts parameters id_facebook and id_dynamics are stored into variables $fb_post_id, $crm_post_id Gather Likes FQL query selects all users that Liked the post. In next FOR cycle are by FQL retrieved data of all such users. $fql_02 = "SELECT user_id FROM like WHERE object_id='".$fb_post_id."'"; $fql_03 = "SELECT name, first_name, last_name, contact_ , website FROM user WHERE uid='".$ret_obj_02[$i]['user_id']."'"; We don t want to gather the likes of logged user or the likes of the page we admin. This fact is represented by the IF construct. 54

73 CHAPTER 4 - Implementation if ($ret_obj_02[$i]['user_id']!= $facebook_id && $ret_obj_02[$i]['user_id']!= $facebook_logged_user_id) We need to check if the Like is stored in our DB. If the Like is not in the DB we can continue to send the Like into CRM. We store the information about Facebook user into the DB and we store the Like itself into DB. The primary key for the DB table Facebook_Likes is the combination of two foreign keys: post ID and user ID. $SQL2 = "SELECT COUNT(*) as pocet FROM facebook_likes WHERE FK_post = '".$fb_post_id."' AND FK_user = '".$ret_obj_02[$i]['user_id']."';" ; $result2 = mysql_query($sql2); $db_field2 = mysql_fetch_assoc ($result2); $exists = $db_field2['pocet']; if ($exists!= "1"){ The Facebook Like and user data is stored into CRM by curl. Than the user data is stored into DB table Facebook_Users. The primary key controls if the inserted user is not a duplicate of user stored in the DB. When storing duplicate user the mysql_error() is displayed. $SQL3 = "INSERT INTO facebook_users (id_user, name, first_name, last_name, website) VALUES ('".$ret_obj_02[$i]['user_id']."', '".$ret_obj_03[0]['name']."', '".$ret_obj_03[0]['first_name']."', '".$ret_obj_03[0]['last_name']."', '".$ret_obj_03[0]['website']."');"; The Facebook Like is stored into DB with other parameters such $crm_newest_response_id. The boolean parameter reported_to_crm indicates that the CRM import was made before. $SQL4 = "INSERT INTO facebook_likes (FK_post,FK_user,reported_to_crm,crm_id) VALUES ('".$fb_post_id."','".$ret_obj_02[$i]['user_id']."','1','".$crm_newest_res ponse_id."');"; Gather Comments Gathering Facebook comments is made after gathering Likes. The principle is very similar. The difference is mainly in the structure of the DB table Facebook_Comments. Each comment has own Facebook ID that is also the primary key of the DB table. Following FQL code is used to gather comments of the post. 55

74 CHAPTER 4 - Implementation $fql_12 = "SELECT fromid, text, id FROM comment WHERE object_id='".$fb_post_id."'"; In the FOR cycle are by FQL retrieved data of the users. We need to check if the comment is not already stored in the DB. $SQL6 = "SELECT COUNT(*) as pocet FROM facebook_comments WHERE id_comment = '".$ret_obj_12[$i]['id']."';" ; $result6 = mysql_query($sql6); $db_field6 = mysql_fetch_assoc($result6); $exists6 = $db_field6['pocet']; if ($exists6!= "1"){ If we are allowed to continue The Facebook Comment and Facebook user data is stored into CRM. User data is stored into DB table Facebook_User. Comments are stored into DB table Facebook_Comments Gathering personal data Facebook doesn t allow gathering friend s personal data such phone number, and address. The permissions user_address, user_mobile_phone, only provide access to authenticated user, not his friend's addresses, mobile phone numbers or s. [21] Table 10: User and friends permission [22] 4.6 Twitter integration When implementing Twitter integration the programmer can use some libraries mentioned on the official developer website The library by Abraham Williams was used. [23] 56

75 CHAPTER 4 - Implementation Twitter application setup The Twitter application has to be setup first. The admin has to own Twitter account and access The name of application created is Microsoft Dynamics CRM connector. Consumer Key and Consumer secret are used in the program code. The callback URL means the URL where to redirect after successful twitter authentication. Figure 39: Twitter application settings 57

76 CHAPTER 4 - Implementation In file tw/config.php has to be following constants defined define('consumer_key', 'zorx00dzz8ccrrmeuqyw'); define('consumer_secret', 'coxjmxusvcowjwjmrjv86g2w58ifn0cui446bkp3ax4'); def ine('oauth_callback', ' t - karlsbad.de/petr/aplikacephp/tw/callback.php'); Twitter initiation Twitter is using sessions for storing the access token. New connection is established first. $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']); Authentication against Twitter User can authenticate by clicking on <a href="tw/redirect.php">log INTO TWITTER</a> File redirect.php builds TwitterOAuth object and gets temporary credentials. It builds authorized URL and redirects to Twitter. $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); $request_token = $connection->getrequesttoken(oauth_callback); switch ($connection->http_code) { case 200: $url = $connection->getauthorizeurl($token); header('location: '. $url); break; The user is redirected to Twitter login page where he authorizes the application to use his account. 58

77 CHAPTER 4 - Implementation Figure 40: Twitter login and authorization page After the authorization is the user redirected to the callback URL. The callback URL is set as tw/callback.php. The script creates TwitterOAuth object with data from default phase and requests access token from Twitter. The access token is stored in the session. Afterwards the user is redirected to the index.php. The session keeps access token. $connection = new T witteroauth(consumer_key, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); $access_token = $connection-> getaccesstoken($_request['oauth_verifier']); $_SESSION['access_token'] = $access_token; if (200 == $connection->http_code) { $_SESSION['status'] = 'verified'; header('location:../index.php'); 59

78 CHAPTER 4 - Implementation Publish to Twitter Publishing to Twitter is enabled only to authorized users. The script tw/publish_twitter.php is called. The Twitter object is created and through the API call is the status updated. The tweet is limited up to 140 characters. $access_token = $_SESSION['access_token']; $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']); $content = $connection->post('statuses/update', array('status' => substr($publish_stream, 0, 140) )); // chracter limit 140 For future gathering we need to know the new tweet ID. It is retrieved from the API post response and stored into variable $tw_newest_post_id. $tw_newest_post_id = $content->id_str; Gather from Twitter For gathering from Twitter the script tw/gather_twitter.php is called. When gathering from Twitter we have to identify relevant posts first. From the DB are selected posts that were stored into CRM. The posts have to be valid not expired. $SQL = "SELECT * FROM posts WHERE( (date_expire > curdate()) AND (publish_dynamics = 1) AND (publish_twitter = 1) );"; The FOR cycle works with all relevant posts. Each posts id_twitter and id_dynamics are stored into variables $tw_post_id, $crm_post_id Gather retweets The retweets are discovered by the API call. $content = $connection->get('statuses/retweets/'.$tw_post_id); 60

79 CHAPTER 4 - Implementation We don t need to check for retweets of just logged user because Twitter doesn t allow to retweet own tweet. We need to check if the retweet is stored in our DB table Twitter_Retweets. Similarly as Facebook comments he primary key for the DB table Twitter_Retweets is ID of the retweet. $SQL32 = "SELECT COUNT(*) as pocet FROM twitter_retweets WHERE id_retweet = '".$content[$i] ->id_str."';" ; $result32 = mysql_query($sql32); $db_field32 = mysql_fetch_assoc($result32); $exists = $db_field32['pocet']; if ($exists!= "1"){ The retweet and user data is stored into CRM by curl. The user data is stored into DB table Twitter_Users. The primary key controls if the inserted user is not a duplicate of user stored in the DB. When storing duplicate user the mysql_error() is displayed. $SQL33 = "INSERT INTO twitter_users (id_user, name, website) VALUES ('".$user->id."', '".$user->name."', '".$user->url."');"; The retweet is stored into DB with parameters such $crm_newest_response_id. The boolean parameter reported_to_crm indicates that the CRM import was made before. $SQL34 = "INSERT INTO twitter_retweets (FK_post, FK_user, reported_to_crm, crm_id, id_retweet, text_of_retweet) VALUES ('".$tw_post_id."', '".$user->id."', '1', '".$crm_newest_response_id."', '".$content[$i]->id_str."', '".$content[$i] ->text."');"; Gathering personal data Twitter offers only one filed for name. Therefore the name cannot be parsed as first name and last name. It is imported into CRM as last name. addresses or phone numbers are not available through the Twitter API. 61

80

81 CHAPTER 5 - Testing 5 Testing The purpose of testing was to verify all the functions of the Web Application. The testing met all specified requirements. The scenario of testing was built according to Use case model. Testing was realized in two iterations. First iteration discovered some drawbacks that were fixed. Second iteration was successfully functional. First version imperfections are discussed in paragraphs called Imperfections discovered. The screenshot documentation is attached in the Appendix. 5.1 Authentication The user did following Marketing user authenticates against Facebook Marketing user authenticates against Twitter RESULT: This scenario was successfully accomplished. 5.2 Publish stream Publish stream with short time interval for monitoring the campaign Prerequisite for this scenario: User is authenticated against Facebook and Twitter. The Marketing user enters text and publishes to CRM (Creates new campaign in Microsoft Dynamics CRM), publishes to Facebook (New Facebook post), publishes to Twitter (New Twitter post). Published text: 01 Testovací příspěvek, který platí pouze jeden den Monitor the campaign for: 1 day RESULT: This scenario was successfully accomplished Publish stream with post to Facebook user wall Prerequisite for this scenario: User is authenticated against Facebook and Twitter. The Marketing user enters text and publishes to CRM (Creates new campaign in Microsoft Dynamics CRM), publishes to Facebook (New Facebook post), publishes to Twitter (New Twitter post). 63

82 CHAPTER 5 - Testing Published text: 02 Testovací příspěvek diplomové práce umístěný sociální sítě na profil Petr Vůjtěch. Odpovědi budou zaznamenány do MS Dynamics CRM. Řekněte, jaké je dnes u Vás počasí? Monitor the campaign for: 30 days RESULT: This scenario was successfully accomplished. NOTES: The Twitter character limit was exceeded. The application informed the user. The Twitter tweet was shortened to first 140 characters Publish stream with post to Facebook Page wall Prerequisite for this scenario: User is authenticated against Facebook. User stored ID of the Facebook page he wants to store as. The Marketing user enters text and publishes to CRM (Creates new campaign in Microsoft Dynamics CRM), publishes to Facebook (New Facebook post). Published text: 03 Testovací příspěvek diplomové práce umístěný sociální sítě na profil společnosti Microsoft Dynamics CRM connector. Řekněte, co budete dělat o víkendu? Monitor the campaign for: 30 days RESULT: This scenario was successfully accomplished Imperfections discovered during first iteration Twitter post ID The database value of the twitter post id (table: posts, column: id_twitter) didn t correspond to twitter post id identified through API console explorer. The application stored ID of second most actual tweet because the ID was detected by API query. FIX: The application stores twitter ID that is parsed from the response when publishing Twitter ID vs. ID_STR Because the twitter ID is quite long number, Twitter recommends using id_str (string) parameter instead of id (number). During testing was found that using id_str is much more reliable than just id. [24] 5.3 Gather stream The marketing user did the gather from both networks two times. It shows that the application is able to add just the NEW items of social media interaction during the second gather request. 64

83 CHAPTER 5 - Testing Gather from Facebook user wall Prerequisite for this scenario: User is authenticated against Facebook. Facebook wall post (published text: 01 Testovací příspěvek, který platí pouze jeden den) was not commented or liked. Facebook wall post (published text: 02 Testovací příspěvek diplomové práce umístěný sociální sítě na profil Petr Vůjtěch. Odpovědi budou zaznamenány do MS Dynamics CRM. Řekněte, jaké je dnes u Vás počasí?) was commented and liked as followed: 4 users added 1 comment 1 user added 2 comments 2 users (they also added comment) added Like Web Application gathered Likes and Comments 1 user added 1 Like and 1 comment Web Application gathered Likes and Comments Marketing user ran task Gather from Facebook. RESULT: This scenario was successfully accomplished. NOTES: The DB didn t store any duplicate of Facebook user. All Likes, comments and Facebook users were successfully stored into DB and into MS Dynamics CRM. The interaction with the post with short time interval for monitoring the campaign (1 day) was not gathered because the date was expired. During second gather command just new (1 Like and 1 comment) interactions were gathered. The gather was made also for the Facebook Page post Gather from Facebook Page wall Prerequisite for this scenario: User is authenticated against Facebook. Facebook Page wall post was commented and liked as followed: 1 user added 1 Like and 1 comment The authorized user made comment Web Application gathered Likes and Comments 1 user added 2 comment Web Application gathered Likes and Comments Marketing user ran task Gather from Facebook. RESULT: This scenario was successfully accomplished. NOTES: The DB didn t store any duplicate of Facebook user. All Likes, comments and Facebook users were successfully stored into DB and into MS Dynamics 65

84 CHAPTER 5 - Testing CRM. During second gather command just new (1 Like and 2 comments) interactions were gathered. The gather was made also for the Facebook user wall post Gather from Twitter Prerequisite for this scenario: User is authenticated against Twitter. The twitter tweet was retweeted as followed. 2 users retweeted Web Application gathered Likes and Comments 1 user retweeted Web Application gathered Likes and Comments Marketing user ran task Gather from Twitter. RESULT: This scenario was successfully accomplished. NOTES: All retweets were successfully stored into DB and into MS Dynamics CRM. During second gather command just new (1 retweet) interaction was gathered. 66

85 CHAPTER 6 - Key issues and interests 6 Key issues and interests This chapter describes various issues that are relevant for this thesis and require extra paragraph for explanation. 6.1 Research and relevant information Social networks are widely integrated into software applications. There is no problem to find information about technical aspects of the integration. But the information is usually useless because it is incorrect and it is not relevant any more. The social network interfaces change through time and the changes are important. The developers have to monitor the changes in API, permissions to keep their programs working. Facebook used REST API, but now the Graph API is preferred in the development. Twitter is more consistent in terms of API changes. Working with relevant information sources was quite big issue for me when working on the thesis project. 6.2 Microsoft Dynamics CRM integration development Initially I was trying to develop a built-in module inside MS Dynamics CRM. The project was moving from customization of CRM to sophisticated.net platform Silverlight with CRM Web Services. Advanced customization -> Plug-in development -> Silverlight application I spent long time when I was trying to implement Silverlight solution. The progress was slow and insufficient. Therefore I came up with solution that is independent on MS Dynamics CRM. That was the web application implemented in PHP. The integration issue was solved by reengineering in cooperation with Zenithies group First solutions Add the Facebook user profile page into the contact entity form was successfully implemented. Some cross-scripting issues occurred. The core was proper customization of the form and work with web resources. 67

86 CHAPTER 6 - Key issues and interests Figure 41: Iframe in MS Dynamics CRM contact entity Sitemap customization Originally I tried to create internal control panel for social networks management. For that reason the sitemap had to be edited. Microsoft Pinpoit server provides Microsoft Dynamics CRM SiteMap Editor. [25] Silverlight Silverlight solution seemed to be good choice for MS Dynamics CRM interaction. The interaction towards social networks was not covered in the documentation and the solution would be very complicated. After several attempts to work with complex application platform Silverlight I decided to choose to PHP language that is more suitable for interaction with social networks. 68

87 CHAPTER 6 - Key issues and interests Cooperation with WBI Aleš Novotný When dealing with Silverlight I got contact to WBI company from Pavel Náplava. I was in contact with Aleš Novotný who suggested following solution for the integration issue. The application is implemented as Silverlight application. When publishing to social network the activity and marketing campaign are created. For gathering responses the workflow has to be set up. Workflow would regularly query the social network if there are any new responses Cooperation with Zenithies Zbyněk Pavelek When searching for information about PHP connection to MS Dynamics CRM I found the Zenithies website. This group offered: Import leads from PHP site form directly into Microsoft Dynamics CRM 4.0 PHP site data import/export to/from Microsoft Dynamics CRM 4.0 Zenithies offer commercial package that enables PHP script to interact with MS Dynamics CRM. The package contains: Source code + certificate (license) for one CRM connection Assistance with the primary settings Personalized use case demo Code is easily extendable for other CRM entities I expected that Zenithies is a US company but I was nicely surprised when I found out that the contact person Zbynek Pavelek is from Valasske Mezirici in Czech Republic. We started quite intensive communication. The communication was forwarded also to his colleagues in Australia. We agreed on free non-commercial mini-solution for purposes of my project. After 2 weeks of communication the final working code was delivered. 6.3 Changes in analysis of twitter interaction In the analysis Twitter favorites and replies were considered as equivalents to Facebook likes and comments. But Twitter REST API doesn t provide such data. Twitter can count how many times the tweet was marked as favorite, but REST API cannot get who marked the tweet as favorite. This feature is not reachable through twitter but it is reachable in two websites: automated funniest tweet finder Favrd and Favstar. The way of implementing such websites was discussed on several internet forums and the guessed solution stands on matches done in internal database. The number of users using these tweet finders is high and therefore such information can be provided. [26] 69

88 CHAPTER 6 - Key issues and interests The analysis of this project worked with tweets favorites and tweet replies. In the implementation, only retweets were covered in the final solution. 6.4 Gathering personal data from social networks The amount data that is available through api is managed by permissions. In fact the social networks users have to be aware of the fact that their personal data can be scanned by their friends or by applications that their friends use. For machine gather purposes the , mobile phone number and addresses are not available for Facebook user friends. Thanks for that because otherwise the number of spams and misused phone numbers would increase a lot. Originally I expected that and phone contact information would be great contribution for the CRM, but it is not available. The login security is ensured by the OAuth protocol, where the delicate login information is not send through GET or POST requests, but it is entered on the site of the service provider. Claimed access is clearly displayed to the user. 6.5 Gathering only newly added responses The gather scripts have to identify which post responses are newly added from last gather action. For this purpose the database is necessary. The disadvantage of the application is its performance. The gather scripts need few second to be completed. The interaction between application and social network is not simple. To gather Facebook post comments several steps have to be done: 1. SQL query to identify relevant post from the DB 2. FQL query to get all user ids that commented the post 3. FQL query to get user data 4. If statement that eliminates comments of the logged user 5. SQL query that verifies if the comment has already been stored in DB 6. curl call to store info to CRM 7. SQL query to insert user data into DB 8. SQL query to insert comment data into DB 6.6 Performance optimization Suggested optimization for gather stream is to change the order of steps mention in previous paragraph. Step 3. FQL query to get user data should be moved behind step 5. We can gather user data when we are sure that the comment needs to be stored into CRM and into the database. When comparing steps 4 and 5, step5 is more often realized than step 70

89 CHAPTER 6 - Key issues and interests 4. If we repetitively gather responses we gather not actual comments several times. Therefore it is better to switch the order of these steps. The changed order here: 1. SQL query to identify relevant post from the DB 2. FQL query to get all user ids that commented the post 3. SQL query that verifies if the comment has already been stored in DB 4. If statement that eliminates comments of the logged user 5. FQL query to get user data 6.7 Further usage of gathered campaign responses The Campaign response can be managed widely in the CRM. For example it can be closed, converted or added to queue. Following screenshots describe the usage clearly. The response can be processed differently based on internal directions and individual purposes. Figure 42: Campaign response actions Figure 43: Convert campaign response 71

90 CHAPTER 6 - Key issues and interests 6.8 Marketing responses from the same user If the Facebook user enters two different comments that are gathered by the application CRM has two responses from the same user. That may cause duplicity records when converting marketing response to contact. Duplicity data can be detected by For duplicity check there is an automated function in MS Dynamics CRM where duplicate detection rule can be set. [27] 72

91 CHAPTER 7 - Conclusion 7 Conclusion 7.1 The thesis summarization The functional analysis part was covered widely and I hope I have clearly presented all possibilities of social network integration. Tables describe the usage of social networks according to various CRM entities. Current commercial solutions for MS Dynamics CRM were presented. Based on the analysis the focus of the thesis was put on external social CRM used for marketing purposes. Subsequent technical analysis summarizes all necessary technical information and resources. Facebook and Twitter connectivity principles are cleared in this chapter. The programming application interfaces are presented together with libraries that support them. The principles are quite similar for both networks. Authentication process is explained. Microsoft Dynamics CRM connectivity and solution development is also introduced. Further the API for the web application is specified. The software project is clarified by the UML model that is also part of the technical analysis. The requirement model defines the scope of the application. The use case model reflects the user point of view. Component diagram defines components and their relationships. Class model defines the database structure. Screen model defines the user interface. Both functional and technical analyses provided sufficient background for implementing the application. In the implementation chapter the core concepts of coding are discussed and presented. The database connection is specified. The code providing the integration is presented from perspective of all important components (MS Dynamics CRM, Facebook, Twitter). The new web application was tested for its functionality. First iteration revealed some imperfections. They were fixed and second iteration of testing was successful. Next chapter (Key issues and interests) emphasize important and interesting issues that appeared when working on the thesis. This chapter has summarizing and explicative purpose and may answer some readers arising questions. 7.2 Meeting the assignment and goals The object of the diploma thesis was to analyze, implement and test new software component that enables integration of social networks into Microsoft Dynamics CRM. All important parts were fulfilled. The outputs from the analytic part were used as inputs for the implementation part. Testing results were satisfactory. 73

92 CHAPTER 7 - Conclusion 7.3 Project contributions The contribution of the thesis is mainly in delivering original unique solution. The solution has potential to become a part/core/background of commercial product that might be used by companies for their marketing activities on social networks. I find this thesis valuable information source. Lot of information available on internet about social networks PHP connection is not relevant. In this thesis the working solution is delivered. The topic of posting to MS Dynamics CRM using PHP is also solved by this thesis. Even though social network usage in information systems is widely discussed topic but I haven t seen any summarizing paper that would cover and describe this topic as a complex system. All articles usually deal with some small part of the wide issue covered in this thesis. The thesis provides complex view on the topic especially in the Functional analysis chapter. 7.4 Personal satisfaction I am really glad that I have completed this project. I worked on the topic that I am interested in. I find it very dynamic and I can feel that I closely follow one of actual trends. I gained good knowledge about social networks and their integration. I can use the knowledge for website development or other business opportunity. I gained also good knowledge about MS Dynamics CRM. It is very complex system that needs lot of customizations. I had to learn how the CRM works, I know how to use it and how to customize it. The progress of the thesis was quite demanding. I had to deal with new large CRM system MS Dynamics CRM. I had to study principles and technical aspects of several social networks. The study area was quite large. Than I had to put everything together and make working software component. 7.5 Future upgrades of the application I have several ideas how the application could be improved. The gather script could be launched by some CRON server job. The performance of the application could be optimized. Performance suggestion was discussed in chapter Key issues and interests. 74

93 CHAPTER 7 - Conclusion Gather relevant responses from social networks I was thinking how to identify responses that are worth to be gathered. From the business point of view I guess that the responses might have low rate of utility. LIKE doesn t mean BUY The application could gather more valuable responses when using some artificial intelligence concepts, heuristics or decision systems. From the large amount of responses could be gathered responses that tend to be converted in a business opportunity. Such topic could be offered as another thesis or any scaling up project. 75

94

95 REFERENCES References [1] Social network [online] [ ]. Available from: [2] How many users do the major social networks have? [online] [ ]. Available from: [3] 10 reasons for social networking [online] [ ]. Available from: [4] Create a user dashboard [online] [ ]. Available from: ashboards.aspx&user_lcid=1033&ver= [5] Vibe Social Networking for Microsoft Dynamics CRM [online] [ ]. Available from: [6] Parrot - Social CRM for Microsoft Dynamics CRM [online] [ ]. Available from: [7] InsideView blog [online] [ ]. Available from: [8] Developer Blog [online] [ ]. Available from: [9] Introducing JSON [online] [ ]. Available from: [10] Facebook Graph API [online] [ ]. Available from: [11] Facebook Query Language (FQL) [online] [ ]. Available from: [12] Exploring the Twitter API [online] [ ]. Available from: [13] OAuth - nový protokol pro autentizaci k vašemu API [online] [ ]. Available from: [14] Introduction to Solutions [online] [ ]. Available from: 77

96 REFERENCES [15] Using the CrmDiscoveryService Web Service: CRM Online [online] [ ]. Available from: [16] Silverlight [online] [ ]. Available from: [17] CrmService Entities [online] [ ]. Available from: [18] campaign.name Property [online] [ ]. Available from: [19] campaignresponse.subject Property [online] [ ]. Available from: [20] Facebook Increases Maximum Status Update Length To 63,206 Characters [online] [ ]. Available from: [21] Platform Updates [online] [ ]. Available from: [22] Permissions Reference [online] [ ]. Available from: [23] abraham / twitteroauth [online] [ ]. Available from: [24] Twitter IDs, JSON and Snowflake [online] [ ]. Available from: [25] Microsoft Dynamics CRM SiteMap Editor [online] [ ]. Available from: [26] How To: See When Your Tweets Are Favorited, by RSS [online] [ ]. Available from: rited_by_rss.php [27] Detect Duplicate Data in Microsoft Dynamics CRM [online] [ ]. Available from: [28] WOLENIK, Marc J., Damian SINAY a Rajya Vardhan BHAIYA. Microsoft Dynamics CRM 2011 Unleashed [ebook] [ ]. Available: &source=gbs_navlinks_s 78

97 APPENDIX Appendix A. Customization of MS Dynamics CRM A.1. Status code Appendix Figure 1: Statuscode settings Appendix Figure 2: Launched value 79

98 APPENDIX A.2. Type of campaign Figure 44: New type of Campaign: Social Media 80

99 APPENDIX A.3. Views Appendix Figure 3: Set default view for Campaigns Appendix Figure 4: Configure view 81

100 APPENDIX A.4. Response code Appendix Figure 5: Retweet Response Code Facebook LIKE, Facebook Comment, Twitter 82

101 APPENDIX A.5. Chanel of campaign response Appendix Figure 6: Channel Facebook, Twitter 83

102 APPENDIX B. Create database script -- phpmyadmin SQL Dump -- version Počítač: Vygenerováno: Pon 07. kvě 2012, 03:16 -- Verze MySQL: Verze PHP: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 */; /*!40101 */; /*!40101 */; /*!40101 SET NAMES utf8 */; Databáze: `unterkunftkarlsbadde2` Struktura tabulky `facebook_comments` -- CREATE TABLE IF NOT EXISTS `facebook_comments` ( `FK_user` bigint(20) NOT NULL, `FK_post` bigint(20) NOT NULL, `id_comment` varchar(100) COLLATE utf8_czech_ci NOT NULL, `text_of_comment` text COLLATE utf8_czech_ci NOT NULL, `reported_to_crm` tinyint(1) NOT NULL, `crm_id` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id_comment`), KEY `FK_post` (`FK_post`), KEY `FK_user` (`FK_user`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

103 APPENDIX -- Struktura tabulky `facebook_likes` -- CREATE TABLE IF NOT EXISTS `facebook_likes` ( `FK_post` bigint(20) NOT NULL, `FK_user` bigint(20) NOT NULL, `reported_to_crm` tinyint(1) NOT NULL, `crm_id` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`FK_post`,`FK_user`), KEY `FK_post` (`FK_post`), KEY `FK_user` (`FK_user`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Struktura tabulky `facebook_users` -- CREATE TABLE IF NOT EXISTS `facebook_users` ( `id_user` bigint(20) NOT NULL, `name` text COLLATE utf8_czech_ci NOT NULL, `first_name` text COLLATE utf8_czech_ci NOT NULL, `last_name` text COLLATE utf8_czech_ci NOT NULL, `website` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id_user`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Struktura tabulky `posts` -- CREATE TABLE IF NOT EXISTS `posts` ( `system_id` int(11) NOT NULL AUTO_INCREMENT, `publish_stream` text COLLATE utf8_czech_ci NOT NULL, `publish_time` int(11) NOT NULL, `publish_dynamics` tinyint(1) NOT NULL, `publish_facebook` tinyint(1) NOT NULL, `publish_twitter` tinyint(1) NOT NULL, `id_dynamics` text COLLATE utf8_czech_ci NOT NULL, `id_facebook` bigint(20) NOT NULL, `id_twitter` bigint(20) NOT NULL, `publisher_id_facebook` bigint(20) NOT NULL, `date_created` date NOT NULL, `date_expire` date NOT NULL, PRIMARY KEY (`system_id`), KEY `id_facebook` (`id_facebook`), KEY `id_twitter` (`id_twitter`) 85

104 APPENDIX ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=94 ; Struktura tabulky `setup` -- CREATE TABLE IF NOT EXISTS `setup` ( `network_name` text COLLATE utf8_czech_ci NOT NULL, `network_id` text COLLATE utf8_czech_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Struktura tabulky `twitter_retweets` -- CREATE TABLE IF NOT EXISTS `twitter_retweets` ( `FK_user` bigint(20) NOT NULL, `FK_post` bigint(20) NOT NULL, `id_retweet` varchar(100) COLLATE utf8_czech_ci NOT NULL, `text_of_retweet` text COLLATE utf8_czech_ci NOT NULL, `reported_to_crm` tinyint(1) NOT NULL, `crm_id` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id_retweet`), KEY `FK_user` (`FK_user`), KEY `FK_post` (`FK_post`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Struktura tabulky `twitter_users` -- CREATE TABLE IF NOT EXISTS `twitter_users` ( `id_user` bigint(20) NOT NULL, `name` text COLLATE utf8_czech_ci NOT NULL, `website` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id_user`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Omezení pro exportované tabulky

105 APPENDIX -- Omezení pro tabulku `facebook_comments` -- ALTER TABLE `facebook_comments` ADD CONSTRAINT `facebook_comments_ibfk_1` FOREIGN KEY (`FK_user`) REFERENCES `facebook_users` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `facebook_comments_ibfk_2` FOREIGN KEY (`FK_post`) REFERENCES `posts` (`id_facebook`); Omezení pro tabulku `facebook_likes` -- ALTER TABLE `facebook_likes` ADD CONSTRAINT `facebook_likes_ibfk_4` FOREIGN KEY (`FK_user`) REFERENCES `facebook_users` (`id_user`), ADD CONSTRAINT `facebook_likes_ibfk_5` FOREIGN KEY (`FK_post`) REFERENCES `posts` (`id_facebook`); Omezení pro tabulku `twitter_retweets` -- ALTER TABLE `twitter_retweets` ADD CONSTRAINT `twitter_retweets_ibfk_3` FOREIGN KEY (`FK_user`) REFERENCES `twitter_users` (`id_user`), ADD CONSTRAINT `twitter_retweets_ibfk_2` FOREIGN KEY (`FK_post`) REFERENCES `posts` (`id_twitter`); /*!40101 SET */; /*!40101 SET * /; /*!40101 SET */; 87

106 APPENDIX C. Testing screenshots C.1. Publish stream Appendix Figure 7: Launch marketing campaign 88

107 APPENDIX Appendix Figure 8: Facebook user wall Appendix Figure 9: Facebook page wall 89

108 APPENDIX Appendix Figure 10: Twitter user tweets Appendix Figure 11: MS Dynamics CRM - Marketing Campaigns 90

109 APPENDIX C.2. Social media interaction (likes, comments, retweets) Appendix Figure 12: Facebook user wall post interaction (first gather) Appendix Figure 13: Facebook user wall post interaction (second gather) 91

110 APPENDIX Appendix Figure 14: Facebook page wall post interaction (first gather) Appendix Figure 15: Facebook page wall post interaction (second gather) 92

111 APPENDIX Appendix Figure 16: Twitter user tweet interaction (first gather) Appendix Figure 17: Twitter user tweet interaction (second gather) 93

112 C.3. Gathered responses Appendix Figure 18: MS Dynamics CRM Responses for post 02 (first gather)

Customer Timeline - New in Summer 2012. Web Lead Capture - New in Summer 2012. Built-In Dashboards - New in Summer 2012

Customer Timeline - New in Summer 2012. Web Lead Capture - New in Summer 2012. Built-In Dashboards - New in Summer 2012 What s New Maximizer CRM 12 Features New Mobile Access User Interface Enhanced Mobile Access Appointment Management Enhanced Web Access User Interface Improved Web Access Speed & Navigation LinkedIn Integration

More information

How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises)

How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises) How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises) COMPANY: Microsoft Corporation RELEASED: September 2013 VERSION: 1.0 Copyright This document is provided "as-is". Information

More information

Enterprise Grade CRM on Cloud

Enterprise Grade CRM on Cloud www.efffiasoft.com TAKE YOUR BUSINESS TO THE NEXT LEVEL WITH EFFIASOFT S Enterprise Grade CRM on Cloud Customer Relationship Management A comprehensive, easy-to-use, customizable and integrated solution

More information

Citrix Virtual Classroom. Deliver file sharing and synchronization services using Citrix ShareFile. Self-paced exercise guide

Citrix Virtual Classroom. Deliver file sharing and synchronization services using Citrix ShareFile. Self-paced exercise guide Deliver file sharing and synchronization services using Citrix ShareFile Self-paced exercise guide Table of Contents Table of Contents... 2 Overview... 3 Exercise 1: Setting up a ShareFile Account... 6

More information

PROJECT MANAGEMENT SYSTEM

PROJECT MANAGEMENT SYSTEM Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU

More information

Compare versions with Maximizer CRM 12: Summer 2013

Compare versions with Maximizer CRM 12: Summer 2013 Compare versions with Maximizer CRM 12: Summer Group and Enterprise Editions The Summer release of 12 continues to build on the theme of enhanced performance, usability and productivity while maintaining

More information

Mobile Device Management Version 8. Last updated: 17-10-14

Mobile Device Management Version 8. Last updated: 17-10-14 Mobile Device Management Version 8 Last updated: 17-10-14 Copyright 2013, 2X Ltd. http://www.2x.com E mail: info@2x.com Information in this document is subject to change without notice. Companies names

More information

Google Drive lets you store and share all your stuff, including documents, videos, images and other files that are important to

Google Drive lets you store and share all your stuff, including documents, videos, images and other files that are important to What are Docs & Drive? Docs Use Google Docs, Sheets and Slides for document editing anywhere, anytime. Google Docs is an online word processor that lets you create and format text documents and collaborate

More information

ITP 140 Mobile Technologies. Mobile Topics

ITP 140 Mobile Technologies. Mobile Topics ITP 140 Mobile Technologies Mobile Topics Topics Analytics APIs RESTful Facebook Twitter Google Cloud Web Hosting 2 Reach We need users! The number of users who try our apps Retention The number of users

More information

Dean College Social Media Handbook

Dean College Social Media Handbook Dean College Social Media Handbook Goals of this Handbook To help Dean College employees and groups engage with social media in constructive and fun ways while contributing to the overall goals of the

More information

Elevate Customer Experience and Engagement in the New Digital World

Elevate Customer Experience and Engagement in the New Digital World Elevate Customer Experience and Engagement in the New Digital World John Chan CRM Solutions Lead, Microsoft Business Solutions Microsoft Asia Customer buying behavior has fundamentally changed therefore,

More information

Product Information. Sugar vs Zoho. Features Comparison

Product Information. Sugar vs Zoho. Features Comparison Product Information vs Zoho Features Comparison CRM Community Price / user / month $0 $35 $45 $60 $100 $0 $12 $25 Price / user / year $0 $420 $540 $720 $1,200 $0 $144 $300 User limits no limit no limit

More information

BeeSocial. Create A Buzz About Your Business. Social Media Marketing. Bee Social Marketing is part of Genacom, Inc. www.genacom.

BeeSocial. Create A Buzz About Your Business. Social Media Marketing. Bee Social Marketing is part of Genacom, Inc. www.genacom. BeeSocial M A R K E T I N G Create A Buzz About Your Business Social Media Marketing Bee Social Marketing is part of Genacom, Inc. www.genacom.com What is Social Media Marketing? Social Media Marketing

More information

Using the Push Notifications Extension Part 1: Certificates and Setup

Using the Push Notifications Extension Part 1: Certificates and Setup // tutorial Using the Push Notifications Extension Part 1: Certificates and Setup Version 1.0 This tutorial is the second part of our tutorials covering setting up and running the Push Notifications Native

More information

Getting Started Guide for Developing tibbr Apps

Getting Started Guide for Developing tibbr Apps Getting Started Guide for Developing tibbr Apps TABLE OF CONTENTS Understanding the tibbr Marketplace... 2 Integrating Apps With tibbr... 2 Developing Apps for tibbr... 2 First Steps... 3 Tutorial 1: Registering

More information

Draft Response for delivering DITA.xml.org DITAweb. Written by Mark Poston, Senior Technical Consultant, Mekon Ltd.

Draft Response for delivering DITA.xml.org DITAweb. Written by Mark Poston, Senior Technical Consultant, Mekon Ltd. Draft Response for delivering DITA.xml.org DITAweb Written by Mark Poston, Senior Technical Consultant, Mekon Ltd. Contents Contents... 2 Background... 4 Introduction... 4 Mekon DITAweb... 5 Overview of

More information

Sugar Professional. Approvals + + + + Competitor tracking + + + + Territory management + + + + Third-party sales methodologies + + + +

Sugar Professional. Approvals + + + + Competitor tracking + + + + Territory management + + + + Third-party sales methodologies + + + + Professional Corporate Enterprise Ultimate List price / user / month $35 $45 $60 $100 List price / user / year (contractual term) $420 $540 $720 $1,200 Application or user limits no limits no limits no

More information

BPMonline CRM User Guide

BPMonline CRM User Guide BPMonline CRM 1 CONTENTS About This Guide... 4 1. BPMonline CRM Concept... 5 1.1. Leads... 6 1.2. Accounts... 7 1.3. Contacts... 10 1.4. Activities... 12 1.5. Opportunities... 14 1.6. Invoices... 16 1.7.

More information

Anchor End-User Guide

Anchor End-User Guide Table of Contents How to Access Your Account How to Upload Files How to Download the Desktop Sync Folder Sync Folder How to Share a File 3 rd Party Share from Web UI 3 rd Party Share from Sync Folder Team-Share

More information

QUICK FEATURE GUIDE OF SNAPPII'S ULTRAFAST CODELESS PLATFORM

QUICK FEATURE GUIDE OF SNAPPII'S ULTRAFAST CODELESS PLATFORM QUICK FEATURE GUIDE OF SNAPPII'S ULTRAFAST CODELESS PLATFORM (* Click on the screenshots to enlarge) TABLE OF CONTENTS 1. Visually Develop Mobile Applications 2. Build Apps for Any Android or ios Device

More information

I N D U S T R Y T R E N D S & R E S E A R C H R E P O R T S F O R I N D U S T R I A L M A R K E T E R S. Social Media Use in the Industrial Sector

I N D U S T R Y T R E N D S & R E S E A R C H R E P O R T S F O R I N D U S T R I A L M A R K E T E R S. Social Media Use in the Industrial Sector I N D U S T R Y T R E N D S & R E S E A R C H R E P O R T S F O R I N D U S T R I A L M A R K E T E R S Social Media Use in the Industrial Sector Contents Executive Summary...3 An Introduction to Social

More information

Microsoft Dynamics CRM Online Fall 13 Service Update

Microsoft Dynamics CRM Online Fall 13 Service Update How to Prepare for the Microsoft Dynamics CRM Online Fall 13 Service Update COMPANY: Microsoft Corporation RELEASED: September 2013 VERSION: 1.0 Copyright This document is provided "as-is". Information

More information

Copyright 2013, 3CX Ltd. http://www.3cx.com E-mail: info@3cx.com

Copyright 2013, 3CX Ltd. http://www.3cx.com E-mail: info@3cx.com Manual Copyright 2013, 3CX Ltd. http://www.3cx.com E-mail: info@3cx.com Information in this document is subject to change without notice. Companies names and data used in examples herein are fictitious

More information

Sugar Professional. Approvals + + + + Competitor tracking + + + + Territory management + + + + Third-party sales methodologies + + + +

Sugar Professional. Approvals + + + + Competitor tracking + + + + Territory management + + + + Third-party sales methodologies + + + + Professional Corporate Enterprise Ultimate List price / user / month $35 $45 $60 $150 List price / user / year (contractual term) $420 $540 $720 $1,800 Application or user limits no limits no limits no

More information

SPRING 14 RELEASE NOTES

SPRING 14 RELEASE NOTES SPRING 14 RELEASE NOTES At Salesforce ExactTarget Marketing Cloud your success is our top priority and we re working hard to continuously improve the Marketing Cloud solutions you use. We recently reached

More information

Editions Comparison Chart

Editions Comparison Chart Sugar Professional Sugar Enterprise Sugar Ultimate List price / user / month $35 $60 $150 List price / user / year (contractual term) $420 $720 $1,800 Application or user limits no limits no limits no

More information

CRM. itouch Vision. This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality.

CRM. itouch Vision. This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality. itouch Vision CRM This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality. For further information, about implementation and pricing please contact us.

More information

Insights for Microsoft Dynamics CRM Online User s Guide December 2014

Insights for Microsoft Dynamics CRM Online User s Guide December 2014 Insights for Microsoft Dynamics CRM Online User s Guide December 2014 Copyright This document is provided "as-is". Information and views expressed in this document, including URL and other Internet Web

More information

Service Cloud Custom Layout. Custom-Branded Console Visualforce Console Components. B2B sales and marketing account and contact data

Service Cloud Custom Layout. Custom-Branded Console Visualforce Console Components. B2B sales and marketing account and contact data Spring 12 is loaded with new features to power your Social Enterprise transformation develop your social customer profile, employee social network, customer social network, and product social network.

More information

Dashboard Admin Guide

Dashboard Admin Guide MadCap Software Dashboard Admin Guide Pulse Copyright 2014 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

Product Manual. MDM On Premise Installation Version 8.1. Last Updated: 06/07/15

Product Manual. MDM On Premise Installation Version 8.1. Last Updated: 06/07/15 Product Manual MDM On Premise Installation Version 8.1 Last Updated: 06/07/15 Parallels IP Holdings GmbH Vordergasse 59 8200 Schaffhausen Switzerland Tel: + 41 52 632 0411 Fax: + 41 52 672 2010 www.parallels.com

More information

Maximizer CRM 12 Winter 2012 Feature Guide

Maximizer CRM 12 Winter 2012 Feature Guide Winter Release Maximizer CRM 12 Winter 2012 Feature Guide The Winter release of Maximizer CRM 12 continues our commitment to deliver a simple to use CRM with enhanced performance and usability to help

More information

ISVforce Guide. Version 35.0, Winter 16. @salesforcedocs

ISVforce Guide. Version 35.0, Winter 16. @salesforcedocs ISVforce Guide Version 35.0, Winter 16 @salesforcedocs Last updated: vember 12, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com,

More information

Administering Jive for Outlook

Administering Jive for Outlook Administering Jive for Outlook TOC 2 Contents Administering Jive for Outlook...3 System Requirements...3 Installing the Plugin... 3 Installing the Plugin... 3 Client Installation... 4 Resetting the Binaries...4

More information

UP L18 Enhanced MDM and Updated Email Protection Hands-On Lab

UP L18 Enhanced MDM and Updated Email Protection Hands-On Lab UP L18 Enhanced MDM and Updated Email Protection Hands-On Lab Description The Symantec App Center platform continues to expand it s offering with new enhanced support for native agent based device management

More information

The next level of enterprise digital asset management

The next level of enterprise digital asset management The next level of enterprise digital asset management Protect brand assets, increase productivity with Canto s award-winning DAM platform. Integrate and configure Cumulus X to support and streamline digital

More information

How To Use Kiteworks On A Microsoft Webmail Account On A Pc Or Macbook Or Ipad (For A Webmail Password) On A Webcomposer (For An Ipad) On An Ipa Or Ipa (For

How To Use Kiteworks On A Microsoft Webmail Account On A Pc Or Macbook Or Ipad (For A Webmail Password) On A Webcomposer (For An Ipad) On An Ipa Or Ipa (For GETTING STARTED WITH KITEWORKS DEVELOPER GUIDE Version 1.0 Version 1.0 Copyright 2014 Accellion, Inc. All rights reserved. These products, documents, and materials are protected by copyright law and distributed

More information

Developer Reference. A mobile loyalty platform for retailers. Document Number: 09720037

Developer Reference. A mobile loyalty platform for retailers. Document Number: 09720037 Developer Reference A mobile loyalty platform for retailers Document Number: 09720037 CONTENTS Guide Overview Description of this Guide... ix What s new in this guide...x Upgrade impact...xii 1. Getting

More information

Statement of Direction

Statement of Direction Mobile First: Taking Mobile CRM to the Next Level 1 January 2013 Mobile First: Taking Mobile CRM to the Next Level Whitepaper Mobile First: Taking Mobile CRM to the Next Level 2 Table of Contents Notes...

More information

CounterACT Plugin Configuration Guide for ForeScout Mobile Integration Module MaaS360 Version 1.0.1. ForeScout Mobile

CounterACT Plugin Configuration Guide for ForeScout Mobile Integration Module MaaS360 Version 1.0.1. ForeScout Mobile CounterACT Plugin Configuration Guide for ForeScout Mobile Integration Module Version 1.0.1 ForeScout Mobile Table of Contents About the Integration... 3 ForeScout MDM... 3 Additional Documentation...

More information

Practical Android Projects Lucas Jordan Pieter Greyling

Practical Android Projects Lucas Jordan Pieter Greyling Practical Android Projects Lucas Jordan Pieter Greyling Apress s w«^* ; i - -i.. ; Contents at a Glance Contents --v About the Authors x About the Technical Reviewer xi PAcknowiedgments xii Preface xiii

More information

CREATE EXACTLY THE MOBILE CRM YOU WANT

CREATE EXACTLY THE MOBILE CRM YOU WANT CREATE EXACTLY THE MOBILE CRM YOU WANT CWR Mobility gives you the mobile CRM you want. With our SDK, anything is possible. Advantages: Intuitive Tailor-made Can be set up per user Re-use your existing

More information

RESCO MOBILE CRM USER GUIDE. Access your CRM data on any mobile platform ipad, iphone, Android, Windows Phone or Win XP/Vista/7/8

RESCO MOBILE CRM USER GUIDE. Access your CRM data on any mobile platform ipad, iphone, Android, Windows Phone or Win XP/Vista/7/8 RESCO MOBILE CRM USER GUIDE Access your CRM data on any mobile platform ipad, iphone, Android, Windows Phone or Win XP/Vista/7/8 Contents Synchronization... 1 1.1. How to synchronize your device... 1 1.2.

More information

Compare versions with Maximizer CRM 12: Winter 2012

Compare versions with Maximizer CRM 12: Winter 2012 Compare versions with Maximizer CRM 12: Winter 2012 Group and Enterprise Editions The Winter release of Maximizer CRM 12 continues to build on the theme of enhanced performance, usability and productivity

More information

DIGITAL MARKETING. The Page Title Meta Descriptions & Meta Keywords

DIGITAL MARKETING. The Page Title Meta Descriptions & Meta Keywords DIGITAL MARKETING Digital Marketing Basics Basics of advertising What is Digital Media? Digital Media Vs. Traditional Media Benefits of Digital marketing Latest Digital marketing trends Digital media marketing

More information

Compare your version to Maximizer CRM 12

Compare your version to Maximizer CRM 12 Compare your version to Features: Account and contact LinkedIn integration Time icalendar integration Task and automation Sales force automation & forecasting Marketing campaign automation & Customer service

More information

tibbr Now, the Information Finds You.

tibbr Now, the Information Finds You. tibbr Now, the Information Finds You. - tibbr Integration 1 tibbr Integration: Get More from Your Existing Enterprise Systems and Improve Business Process tibbr empowers IT to integrate the enterprise

More information

Facebook Smart Card FB 121211_1800

Facebook Smart Card FB 121211_1800 Facebook Smart Card FB 121211_1800 Social Networks - Do s and Don ts Only establish and maintain connections with people you know and trust. Review your connections often. Assume that ANYONE can see any

More information

Getting Started Guide

Getting Started Guide Getting Started Guide Table of Contents OggChat Overview... 3 Getting Started Basic Setup... 3 Dashboard... 4 Creating an Operator... 5 Connecting OggChat to your Google Account... 6 Creating a Chat Widget...

More information

32 Benefits of Pipeliner CRM

32 Benefits of Pipeliner CRM SLIDE DECK: 32 Benefits of r CRM www.pipelinersales.com 32 Benefits of r CRM r originally was designed as a tool for sales empowerment. With its newest release r meets the highest requirements for enterprise

More information

Advanced Configuration Steps

Advanced Configuration Steps Advanced Configuration Steps After you have downloaded a trial, you can perform the following from the Setup menu in the MaaS360 portal: Configure additional services Configure device enrollment settings

More information

SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.

SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.

More information

User Guide. Version R91. English

User Guide. Version R91. English AuthAnvil User Guide Version R91 English August 25, 2015 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept EULATOS as updated from

More information

Build Your Mobile Strategy Not Just Your Mobile Apps

Build Your Mobile Strategy Not Just Your Mobile Apps Mobile Cloud Service Build Your Mobile Strategy Not Just Your Mobile Apps Copyright 2015 Oracle Corporation. All Rights Reserved. What is is it? Oracle Mobile Cloud Service provides everything you need

More information

Your guide to email marketing

Your guide to email marketing Your guide to email marketing Precept 2016 Entering the world of email marketing can seem pretty daunting. Especially if your business has never done email marketing. But emails are actually a great way

More information

1 www.socialscoup.com

1 www.socialscoup.com www.socialscoup.com 1 Index Revision History Revision Date Description 01 Jan 2015 Socialscoup User Guide 1.0.1 Contents 1. Login 6 1.1 Using Facebook 6 1.2 Using Google+ 7 1.3 Using Registered mail id

More information

Online Reputation Management Services

Online Reputation Management Services Online Reputation Management Services Potential customers change purchase decisions when they see bad reviews, posts and comments online which can spread in various channels such as in search engine results

More information

User s Manual For Chambers

User s Manual For Chambers Table of Contents Introduction and Overview... 3 The Mobile Marketplace... 3 What is an App?... 3 How Does MyChamberApp work?... 3 How To Download MyChamberApp... 4 Getting Started... 5 MCA Agreement...

More information

Resco CRM Guide. Get to know Resco CRM

Resco CRM Guide. Get to know Resco CRM Resco CRM Guide Get to know Resco CRM Table of Contents Introducing Resco CRM... 3 1.1. What is Resco CRM...3 1.2. Capabilities of Resco CRM... 4 1.3. Who should use Resco CRM...5 1.4. What are the main

More information

Why Buy GoldMine Premium Edition 9.2?

Why Buy GoldMine Premium Edition 9.2? Why Buy GoldMine Premium Edition 9.2? The Top Reasons Why to Buy GoldMine Premium Edition with New Items in Version 9.2 GoldMine is a leading provider of relationship management solutions for small businesses

More information

The Socialtext Enterprise Collaboration Platform

The Socialtext Enterprise Collaboration Platform The Socialtext Enterprise Collaboration Platform Socialtext transforms business processes and organizational culture by bringing real-time collaboration to the enterprise. By unlocking knowledge, expertise,

More information

Level 3 Diploma in Social Media for Business - 7513

Level 3 Diploma in Social Media for Business - 7513 Objectives By the end of this - City and Guilds flagship professional social media qualification - you will have a professional level, practical and theoretical knowledge of the use of social media for

More information

HubSpot CRM & Salesforce:

HubSpot CRM & Salesforce: HubSpot CRM & What is the best solution for your company? Credits To BluLeadz inbound Marketing Company As a marketing agency, we are always speaking with business owners, marketing managers and sales

More information

How To Convert A Lead In Sugarcrm

How To Convert A Lead In Sugarcrm Attract. Convert. Retain. Lead Management in SugarCRM Written by: Josh Sweeney and Matthew Poer www.atcoresystems.com Atcore Systems, LLC 2010 All rights reserved. No part of this publication may be reproduced

More information

Sophos Mobile Control Installation guide. Product version: 3.5

Sophos Mobile Control Installation guide. Product version: 3.5 Sophos Mobile Control Installation guide Product version: 3.5 Document date: July 2013 Contents 1 Introduction...3 2 The Sophos Mobile Control server...4 3 Set up Sophos Mobile Control...10 4 External

More information

THE MOBlLE APP. REVOLUTlON. 8 STEPS TO BUlLDING MOBlLE APPS FAST ln THE CLOUD

THE MOBlLE APP. REVOLUTlON. 8 STEPS TO BUlLDING MOBlLE APPS FAST ln THE CLOUD THE MOBlLE APP REVOLUTlON 8 STEPS TO BUlLDING MOBlLE APPS FAST ln THE CLOUD People use hand-held devices for everything from communicating and playing games to shopping and surfing the Internet. In fact,

More information

Mothernode CRM SALES & MARKETING EDITION

Mothernode CRM SALES & MARKETING EDITION Mothernode CRM SALES & MARKETING EDITION Increase lead acquisition and conversion, measure campaign revenue and integrate with popular marketing applications. Mothernode CRM The easiest way to run your

More information

Installation and Administration Guide

Installation and Administration Guide Installation and Administration Guide Release 8 This installation guide will walk you through how to install and deploy Conga Composer, including recommended settings for the application. Contact Support:

More information

Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0

Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0 Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0 www.firebrandtraining.com Course content Module 0 Course Content and Plan... 4 Objectives... 4 Course Plan... 4 Course

More information

Web access for real-time convenience online

Web access for real-time convenience online All access options Access Maximizer CRM when and where you need it Optimise productivity and increase profitability To work effectively and stay ahead of your competitors in today s demanding business

More information

Mobile App Framework For any Website

Mobile App Framework For any Website Mobile App Framework For any Website Presenting the most advanced and affordable way to create a native mobile app for any website The project of developing a Mobile App is structured and the scope of

More information

How To Get The Most Out Of Sagecrm V7.1

How To Get The Most Out Of Sagecrm V7.1 Sage CRM 7.1 Overview What s New with Sage CRM 7.1 & Sage CRM 7.1 SP2 Abstract Sage CRM v7.1 is packed with new features which will make a real and immediate impact to businesses looking to stay ahead

More information

The GIJP Tech team can offer assistance setting up and implementing any of the services mentioned in this document.

The GIJP Tech team can offer assistance setting up and implementing any of the services mentioned in this document. TWITTER Twitter (www.twitter.com) allows users to answer the question, What are you doing in 140 characters or less. Users post about their activities, links of interest, and even ask questions on Twitter.

More information

Sage CRM I White Paper. Enhance Your Business Relationships With Sage CRM

Sage CRM I White Paper. Enhance Your Business Relationships With Sage CRM I White Paper Enhance Your Business Relationships With Accelerate Your Performance With True 360 Business Visibility Imagine: Your top sales professional calls your best customer to sell him a new product.

More information

ITP 342 Mobile App Development. APIs

ITP 342 Mobile App Development. APIs ITP 342 Mobile App Development APIs API Application Programming Interface (API) A specification intended to be used as an interface by software components to communicate with each other An API is usually

More information

Oracle Siebel Marketing and Oracle B2B Cross- Channel Marketing Integration Guide ORACLE WHITE PAPER AUGUST 2014

Oracle Siebel Marketing and Oracle B2B Cross- Channel Marketing Integration Guide ORACLE WHITE PAPER AUGUST 2014 Oracle Siebel Marketing and Oracle B2B Cross- Channel Marketing Integration Guide ORACLE WHITE PAPER AUGUST 2014 Disclaimer The following is intended to outline our general product direction. It is intended

More information

Grow Your Business wi w t i h a a Mobil i e l A p A p

Grow Your Business wi w t i h a a Mobil i e l A p A p Grow Your Business with a Mobile App About Us» WizzApps.com is one of the leading Mobile App and Website Development Company that is powering small businesses around the world on daily bases.» We create

More information

Enhancing productivity, enabling. Success. Sage CRM

Enhancing productivity, enabling. Success. Sage CRM Enhancing productivity, enabling Success. Sage CRM Customer Relationship Management Customer Relationship Management (CRM) is far more than just a software application. It is a business solution that gives

More information

Junos Space for Android: Manage Your Network on the Go

Junos Space for Android: Manage Your Network on the Go Junos Space for Android: Manage Your Network on the Go Combining the power of Junos Space and Android SDKs to build powerful and smart applications for network administrators Challenge It is important

More information

MANAGEMENT AND AUTOMATION TOOLS

MANAGEMENT AND AUTOMATION TOOLS MANAGEMENT AND AUTOMATION TOOLS A guide to help with the automation and management of your social media presence 2 April 2012 Version 1.0 Contents Contents 2 Introduction 3 Skill Level 3 Terminology 3

More information

Base CRM Guide. Getting started and understanding of the basic features of Base CRM.

Base CRM Guide. Getting started and understanding of the basic features of Base CRM. Base CRM Guide Getting started and understanding of the basic features of Base CRM. Table of Contents BASIC NAVIGATION 03 Logging in 04 Desktop Navigation 05 Settings DASHBOARD 06 Your Dashboard LEADS

More information

How to install and use the File Sharing Outlook Plugin

How to install and use the File Sharing Outlook Plugin How to install and use the File Sharing Outlook Plugin Thank you for purchasing Green House Data File Sharing. This guide will show you how to install and configure the Outlook Plugin on your desktop.

More information

SmallBiz Dynamic Theme User Guide

SmallBiz Dynamic Theme User Guide SmallBiz Dynamic Theme User Guide Table of Contents Introduction... 3 Create Your Website in Just 5 Minutes... 3 Before Your Installation Begins... 4 Installing the Small Biz Theme... 4 Customizing the

More information

Mothernode CRM ENTERPRISE (ERP) EDITION

Mothernode CRM ENTERPRISE (ERP) EDITION Mothernode CRM ENTERPRISE (ERP) EDITION Everything you need to run your business from sales to order fulfillment, inventory management to invoicing, and much more. Mothernode CRM The easiest way to run

More information

Microsoft Dynamics CRM 2015 Update 1

Microsoft Dynamics CRM 2015 Update 1 Microsoft Dynamics CRM 2015 Update 1 Get ready for the next release Mandar Joshi @Joshi4Mandar Warning: Whatever demoed here is under PREVIEW MODE. This topic is prerelease documentation and is subject

More information

Higher user satisfaction: customers can navigate website content and usergenerated content on a single site.

Higher user satisfaction: customers can navigate website content and usergenerated content on a single site. Evoq Engage: Interactive websites to drive customer engagement According to Forrester Research, 2015 will see a renewed focus on customer engagement in owned media channels: in other words, on your website

More information

Kore Bots Platform Competitive Comparison Overview Kore Bots Platform Competitive Comparison Overview

Kore Bots Platform Competitive Comparison Overview Kore Bots Platform Competitive Comparison Overview Kore Bots Competitive Comparison Overview Kore Bots Competitive Comparison Overview 1 Kore Bots Competitive Comparison Overview Kore The intelligent Bots for the Enterprise Introduction Bots have officially

More information

SAP Cloud Identity Service Document Version: 1.0 2014-09-01. SAP Cloud Identity Service

SAP Cloud Identity Service Document Version: 1.0 2014-09-01. SAP Cloud Identity Service Document Version: 1.0 2014-09-01 Content 1....4 1.1 Release s....4 1.2 Product Overview....8 Product Details.... 9 Supported Browser Versions....10 Supported Languages....12 1.3 Getting Started....13 1.4

More information

SAP Digital CRM. Getting Started Guide. All-in-one customer engagement built for teams. Run Simple

SAP Digital CRM. Getting Started Guide. All-in-one customer engagement built for teams. Run Simple SAP Digital CRM Getting Started Guide All-in-one customer engagement built for teams Run Simple 3 Powerful Tools at Your Fingertips 4 Get Started Now Log on Choose your features Explore your home page

More information

OPS Data Quick Start Guide

OPS Data Quick Start Guide OPS Data Quick Start Guide OPS Data Features Guide Revision: October, 2014 Technical Support (24/7) - (334) 705-1605 http://www.opelikapower.com Quick Start Guide OPS Data: Beginning today, you have access

More information

MasterPass Service Provider Onboarding & Integration Guide Fileand API-Based Merchant Onboarding Version 6.10

MasterPass Service Provider Onboarding & Integration Guide Fileand API-Based Merchant Onboarding Version 6.10 MasterPass Service Provider Onboarding & Integration Guide Fileand API-Based Merchant Onboarding Version 6.10 7 January 2016 SPBM Summary of Changes, 7 January 2016 Summary of Changes, 7 January 2016 This

More information

A Practical Approach to Process Streaming Data using Graph Database

A Practical Approach to Process Streaming Data using Graph Database A Practical Approach to Process Streaming Data using Graph Database Mukul Sharma Research Scholar Department of Computer Science & Engineering SBCET, Jaipur, Rajasthan, India ABSTRACT In today s information

More information

AN INTRODUCTION TO PINTEREST FOR BUSINESS.

AN INTRODUCTION TO PINTEREST FOR BUSINESS. AN INTRODUCTION TO PINTEREST FOR BUSINESS. A setup and strategy guide for marketers. A publication of 2 CONTENTS. 04 10 Why Use Pinterest? How to Create a Pinterest Business Account 15 15 Pinterest for

More information

How To Use Salesforce Identity Features

How To Use Salesforce Identity Features Identity Implementation Guide Version 35.0, Winter 16 @salesforcedocs Last updated: October 27, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of

More information

Marketing and Promoting Your Cooperative Through Social Media. How social media can be a success for your housing cooperative

Marketing and Promoting Your Cooperative Through Social Media. How social media can be a success for your housing cooperative Marketing and Promoting Your Cooperative Through Social Media How social media can be a success for your housing cooperative The History of Social Media First email sent Geocities, first social network

More information

5 TIPS FOR SETTING MEASURABLE SOCIAL MEDIA GOALS

5 TIPS FOR SETTING MEASURABLE SOCIAL MEDIA GOALS TIP SHEET 5 TIPS FOR SETTING MEASURABLE SOCIAL MEDIA GOALS Social media participation has become a must for businesses today. A survey by CMO in February 2012 revealed that marketers expect to spend almost

More information

The Smartest Way to Get Meetings Done

The Smartest Way to Get Meetings Done The Smartest Way to Get Meetings Done It is time to say goodbye to email and calendar hassle: Meetin.gs is the smartest way to meet. Get your meetings on the cloud and access them from any device. The

More information

Emails + Zoho CRM. for Your Business. Customer Relationship Management. Email

Emails + Zoho CRM. for Your Business. Customer Relationship Management. Email Emails + Zoho CRM for Your Business Customer Relationship Management Email 2 Contents The Basics The Email + CRM Solution Built-in Option to Send Emails Zoho Mail Add-on BCC Dropbox Plug-in for Microsoft

More information

Above the fold: It refers to the section of a web page that is visible to a visitor without the need to scroll down.

Above the fold: It refers to the section of a web page that is visible to a visitor without the need to scroll down. Above the fold: It refers to the section of a web page that is visible to a visitor without the need to scroll down. Access: It is the ability to see what you are trying to view (e.g. you can see a friend

More information

CinePlay 1.1.2. User Manual

CinePlay 1.1.2. User Manual CinePlay User Manual 1 CinePlay 1.1.2 User Manual CinePlay is a professional ios video player complete with timecode overlays, markers, masking, safe areas and much more. It is ideal for dailies, portfolios,

More information