 I have to use the microphone even though my voice I think projects all right in this room. But thank you for being here for the CBCRM session at DrupalCon Latin America. This is the first official full-fledged CBCRM session ever at DrupalCon. So that tells you that CBCRM is getting a lot of traction out there and a lot of interest from people. I know the organizing committee here in Bogota reached out and was very interested in having somebody present on behalf of CBCRM because they know it's a very popular project and it works very well with Drupal. So they wanted to be sure that it's represented here. So we'll get into the details of everything about CBCRM. If you are on social media feel free to use the hashtag CBCRM and our company that deals with CBCRM is called Square. It's pronounced Square even though it's spelled a little bit differently. Square is in the rectangle. So feel free to tweet, hashtag, post on Facebook wherever you might be. So we talked a little bit just before we started about who's in the audience but just by the show of hand how many of you have implemented some kind of a CRM system before? Not just Drupal but any kind of CRM, Salesforce, Sugar or any kind of CRM. How many of you have worked with nonprofits or educational institutions or professional associations? Okay, so we've got a very good cross section here. All right. So what's on the menu here today? Well, we're going to talk about CBCRM and we are going to talk about why you might want or need CBCRM. What are some of the key features of the system? What are the different components? It's very modularized. So what are the different components of it? And look at some use cases. When you might want to use it, how you might want to use it, who's using it, okay? And I'm certainly open to any questions if you have or if something pops up, we can make this a little bit more interactive. I'll be sure to repeat the questions so that they're recorded into the audio and into the stream that's going to be posted on the Internet later. So when you think of a CRM, what do you think the C stands for? Customer, contact, client, all correct. Client, customer, constituent. If you're in a nonprofit market, they might not necessarily refer to them as customer or client, but they might refer to them as a constituent. And you're all right. At the end of the day, it's basically a contact record from which a lot of the activities and everything else revolves. So historically, when you look, and Dries really touched on this today from a little bit different perspective in his keynote, but when you look at it historically, any organization, be it for-profit, non-profit, even individual organization, you basically have your website, you're the epicenter of it, right? And everybody else kind of comes to you. Or if you want to look at it from the content perspective, you are the ultimate authority and everybody comes to you and pulls in the data, pulls in the content, right? So this is how most organizations, most companies, most non-profits have operated until very recently. And what started to happen, if you really look at the marketplaces, now your website or your engagement platform, whatever that may be, becomes really one of the many things out there. And the communication starts happening all in different directions and sometimes completely bypasses you being in the center, yet still it's a very relevant in the cloud of conversation that's taking place. It might be a very relevant topic to you, to your organization, to your non-profit, to your mission, but it might actually be happening kind of on the side where it's actually not touching your website, but it's very relevant to it. Make sense? All right. So what's the general solution? What has been the general solution? Well, you've got your website in the middle, right? And then somebody says, hey, we need to plug in some contacts and we've kind of outgrown our spreadsheet with 150 people in there. So let's set up Salesforce. They have a solution for non-profits, right? They kind of rebranded their product and if you want to keep track of contacts, put them in Salesforce. Okay. That sounds good. And somebody says, well, we really need kind of a community engagement and we'd really like to set up some forums and some groups, all right? So somebody goes out there and sets up Google groups, still okay. And somebody says, well, I don't like the interface or something. We've got this Yahoo group already here for this subgroup over here. And then somebody says, well, we need to send out everybody email. So let us set up a, you know, either a constant contact or a Weber or MailChimp or somebody else out there. And then you start organizing an event. So you go and put out an evite, right? And then you want people either to donate to you or you want them to pay for an event or some kind of a service. So then you set up a PayPal and authorized net account. What are you guys thinking when you see this too many things to handle big ecosystem to support an interface with, right? My question really to the top of the organization and the technology people in the room is, where does your data live? Where is your customer constituent client data? When you have all of these or parts of these systems interacting? Because how many of you have more than three email addresses, right? All of us, almost all of us have three email addresses, right? And is your email address always the same on some website where you're registered and in PayPal and on evite and, you know, maybe what's in Salesforce or in some kind of a CRM system? No, right? So even when people say, well, that's okay that we have multiple systems, we can always kind of tie it back together, right? But whether you're living in an English speaking country where there's plenty of John Smiths or you're living in Latin America or some country where there's plenty of Juan Carlos is, right? And then you say, well, we can't, okay, we can't quite de duplicate and reconcile our data between different systems based on the name. So let's use email addresses, but you can't really do that because as we just found out, everybody's got three, four, five, ten different email addresses, all right? So what's the solution here? No, that's why we're here in the session. The solution is really about CVCRM. Because that one system can encompass all of those different functionalities. And as I like to put it, CVCRM, you can download it separately from CVCRM.org and it's really more than a module. Most people tend to think of Drupal and modularity of it and they think, okay, I'll just download it and it'll enable it like a module and you do, but at the same time, it's really more than a module. It's a compilation of modules, it's a whole ecosystem. And it's actually, I like to say it's more than a module and less than a distribution, right? Have you worked with Drupal distributions before? Okay, so it's kind of more than a module, less than a distribution. But really it's a platform. The good news is, Drupal's coming on, what, 14 years, right? That just celebrated. CVCRM's been around since 2004 as well. So it's 11 years that it's been around. It's another open source project. And it does work with Drupal and other content management systems. It does work with Junwline WordPress if you're inclined to do it, but you wouldn't be at DrupalCon if you were doing a lot of that kind of work, right? But it does work. So it's a content management platform almost independent and I'll qualify the almost a little bit later on when we talk about some of the customizations and how it interacts. The good news is several years back, there was a decision made by CVCRM team that said, you know what, we'll leave all the content and all the GUI, all the front end interface to the content management system. And we'll focus on developing the core functionality on the back end. And I will tell you, I've been in technology for quite some time. CVCRM is probably one of the most normalized databases that I've seen out there. Once you start understanding how the database and how the data flows and everything else, it is extremely normalized and it's very well designed. So it came from the non-profit background. And as I said, it's open source. So you can download it, you can modify it, and hopefully you contribute back. Relevant to this group, it's internationalized, right? So now, what do I mean by internationalized? Because I'm not talking about specifically just multilingual. The way addresses are displayed, the way currencies are displayed, the way dates and times so it adapts to the geographic or the cultural context in which it operates. And there is quite a few Spanish and Portuguese implementations of this out there. And there is, I don't have the latest count of the translations out there, but there's quite a few translations of CVCRM available for use and for download. So the localization of addresses, dates, currency and everything is out there. Of course, it's web-based, which is great, because if you've dealt with non-profit organizations or NGOs, etc., you know a lot of them have a little FileMaker Pro or an Access database and they're just ever so happy to be using that, because that's what they've been using for the last ten years until that computer crashes or until that person is sick and they don't know the password of how to get in there. And then suddenly they realize, well, wait a minute, this is probably not a very scalable system to use, okay? So it's web-based. And last but not least, it's integrated. And when I say integrated, it means it's integrated with the Drupal CMS, okay? What that really means in the real world is on the user interface, when they log into the website, they may not know whether they're actually or when they're going to register for an event or when they're donating. The end user doesn't need to say, well, I'm logging in here, I'm logging in here or something like that. It's all integrated together. And you can, we'll go through some kind of real world scenarios here that will show you and tell you how you can actually combine the data from the CVCRM side of things and database and how you can react to it on the content side and do a lot of fun stuff. So in real world, professional associations, right? If you're an engineer, if you're a builder, if you're whatever professional association, a lot of activists use this. There's a number of schools and educational institutions. And we've actually seen this and we use this ourselves at Square. There is a number of businesses that tend to use this system, okay? Now the language in the system, when you open it up by default, is going to be targeted towards the nonprofits. But it can actually, CVCRM has the capability of going in there, regardless of what language you use, and do word substitutions. So if you don't like the word contribution and you wanna call it payment, you can go in there and put in your text strings and say, I wanna replace everywhere it says contribution, I wanna replace it with payment, done. That was implemented probably within the last couple of years, 18 months or so. And it's very useful because even at the difference with open source, and I had a big conversation over dinner last night with somebody who's fairly new to the open source community but has a lot of software background. And I said, the difference is when you're buying somebody or when somebody else is selling you a prepackaged custom software that's developed and it's proprietary, they come in and basically say, hey, look what I have, buy this, right? Versus with open sources, you all know is when we go out there and we offer client solutions is basically, it can do a lot of different things. But what do you really need, okay? And that's a very different way of approaching it. So when we walk into a nonprofit, we're not necessarily trying to revamp their processes and say you have to match this. We're more likely to ask, well, how do you work today? Does it work for you? And if it does, okay, then let's keep using it and match up the system and the workflow to that. Or if you've been doing it that way for the last 20 years because it's just the way you've been doing it since faxes were coming in, then let's take a look and see where we can rearrange some things. But it's more of a consultative back and forth approach rather than saying, hey, here's what I got, use it, okay? So a lot of times we'll walk into the real world here and even a nonprofit might say, well, we don't really refer to them as donors. Or we don't really refer to these things as contributions. We wanna label it something else. The system supports that, all right? So somebody you might have heard of before, Amnesty International, who uses CVCRM, right? They use that. As a matter of fact, how many of you are Drupal Association members? All right, good part of the group. When you went in and signed up for a Drupal Association membership, you were actually interacting with CVCRM on the back end, okay? So Drupal Association uses CVCRM, Amnesty International Conservation Fund. So these are some really big, well-known names that you would probably know about. You probably heard of the Linux Foundation, right? And again, some of their web front ends might be in Drupal or may not be, but on the back end for the CRM functionality, that's what they do integrate. Another one that, do you know of techs up here in Latin America? I strongly recommend you look it up. I know they have a large footprint in multiple different countries. This is a website where this is an organization nonprofit. Where you go in and as a nonprofit you can join them. And then as a nonprofit, you are eligible for deeply, deeply discounted software subscriptions, etc. So if your nonprofit or your client uses Microsoft Office, last time I checked it was like $5 a subscription, okay? If they're using go-to-meeting instead of $50 a month, it's something like $50 a year. So if your nonprofit, if your organization wants to do webcasts or go-to-meeting seminars or something like that, this is an excellent place to go in. And again on the back end they use CVCRM, all right? Something a little bit smaller that we've done that's local to Texas is there is a mountain biking association in Houston. And they came to us and they said we've got this kind of concoction of different PHP bulletin board and HTML website and this database on the back end that just sits on somebody's computer. And we've got hundreds of different members that we'd like to really engage and give them a better interface, etc. So not only we built them a nice Drupal front end website, but on the back end they can actually go in and sign up for their memberships. And they can renew them as well. And it's really an email goes out, let's say four weeks, it's configurable. Email goes out four weeks before the expiration of the membership. And it gives you a unique link, you can click on that link. It'll take you to the website, you don't even have to log in. It'll pre-fill all that information. You can edit it if some of that information has changed. You hit submit, payments processed, and you're done, right? Before this system, what did their process look like? Very much go to the website, download this PDF, print it out, write us a check, put it in the mail, and then somebody will get back to you if we can actually read the paper that you filled out. And we'll let you know that you're actually a member of organization, right? Now, in today's day and age, what do you think is the likelihood of people? Remember, again, Dries in the keynote when he was talking about the different steps it takes to do something? So if we took it out and said, okay, we have to put a PDF up on the website and download it, we have to go out and print it out, we have to fill it out, we have to find an envelope and a stamp. We have to mail it in, we have to write a check, right? Whereas I can just come in here and in my slippers and shorts, I can just fill it out, click, pay my dues, et cetera. When we launched this organization's website in the first 90 days, their membership shot up 35%. They came back to us and said, we have more money in our budget, can you do more? All right, so people are concerned about the return on investment. But how do you measure return on investment in terms of engagement of your constituents? Second thing that I want to point out while I'm on the topic of what kind of real world examples is, and we see this very, very frequently. Every organization is extremely concerned about recruiting new members, recruiting new blood into the organization, right? But then you ask them and you say, well, you have 3,000 members and you're really proud of yourself because you recruited 300 more this year. In the last 12 months, your membership, you have 300 new members. So everybody's giving high fives and celebrating because they go, hey, that's a 10% growth, right? Just pretty good. When I walk in, I usually ask them, I say, so what's your retention rate? And they kind of tilt their head, give me the puppy look, go, what do you mean? I said, out of the 3,000 members that have been members, how many of those didn't renew? Most places don't have an idea of what that number is. And in a 3,000-member organization, that number could very well be 200 or 250. Now, sometimes, especially if it's something very local like in Houston, that might be reasonable because people move in and out of the area or something like that so they don't have a need to be a member anymore. But what we found out over and over and over again is most people don't renew. You know why? Nobody's asked them. Nobody's sent them a reminder. Nobody sent them a little tickler and said, hey, would you like to renew again? I mean, how many of you are a member of some kind of an organization? Drupal Association, most of us here, right? If I asked you right now, when does your Drupal Association membership expire? Do you have an idea? No, you don't. Most people don't. We're more than happy to support an organization, but don't ask us to keep track of when that membership expires. And if you have multiple organizational memberships, the last thing you wanna do is keep track of that in your calendar. So if somebody doesn't ask and say, hey, would you send us another $100 or whatever it is for Drupal Association? If they don't ask, I may not proactively go out there and actually do it even though if I get that email, I will happily do that, right? So that's one of the big things that has been taking place with CIVICRM, with this kind of an integrated system is that not only you're capitalizing on the new blood and new members that are coming into organizations and new donors, right? It's going back historically and asking the same donors, the event participants, etc. So now we have a lot of clients who go out there and say, we had a great successful event last year for a fundraiser, right? Instead of trying to go and fill out a room of 500 people again, why don't we go and send an email to the people that were there last year? I mean, that's probably your best target market right there. Out of the 500 people that were out there last year, 250 or 300 of them will probably come right back if you ask them. All right, so let's look at the different elements of the system. So as I said, the C contact constituent client, it doesn't matter what you want to call it, but all of these are either members or clients or volunteers or donors or affiliates. I mean, it doesn't matter, it can be an individual, it can be in a household, it can be a company. It doesn't really matter, it's a record, okay? And from that, a lot of other things go off there. It can even be we have an organization that use this for managing grants as pass through. So they receive a big grant and then they're responsible to pass that grant into other community. As a matter of fact, again, this morning, Holly was talking about the community grants that they're administering for Drupal 8, right? So Drupal Association gets a grant, let's say, from Acquia that says, we're gonna give away million dollars, I don't know what their number is, so don't quote me on this. We're gonna give away million dollars for promoting Drupal 8 and community development and then Drupal Association can act and have all sorts of information in their CRM system as they distributed and push it out. The beauty of this is you can also manage, you can do almost like nested contacts, so you can have a company and then you can set up relationships between them and the memberships that adds to that. So the beauty of having everything in the contact database is, one, you can segment it. So if the DrupalCon registration was done in CVCRM, for example, we're all here at the event, I could actually segment the market and say, I wanna send email to everybody who signed up in the first two weeks when the registration was open. So I wanna see the first enthusiast because I wanna target them for a particular message, right? On the contrary, I could also segment my market and say, I wanna send an email to everybody who has registered in the last two weeks. Because maybe they, we've all been getting these emails periodically about DrupalCon is coming, this is about travel arrangements, hotel arrangements, etc., right? But if you signed up in the last two weeks, you might have not been in the distribution list. So I may need to send just to those people, just to that market segment, a particular email summarizing everything that's been going on for the last several months, all right? So it allows you to do that, the relationship as I just mentioned. You can set up a variety of relationships between individuals, between individual and companies, etc., and you can define your own. So this is not predefined. Now, there is relationships like spousal relationships or parent-children or employer-employee. But then there is a lot of relationships where you may not even know what those are, it could be a client, a vendor relationship, it could be a grantee, grantor, it could be a lot of other things. And you can define these on your own and you can also put permissions and restrictions on this. So one of frequent requests we get is we wanna say somebody from the family or from the company wants to be able to edit everybody else's contact information. So you have like one master administrator that edits the company information. And then actually the company address can be linked to the individual. So the individual doesn't even need to change their address when it's changed at the company level, it's automatically linked. Think of it like entities in Drupal, all right? Each contact can have a number of activities. So think of this as a change log, if you will, but you can define your own activities. So I can set up an activity if I'm using it for sales follow up or donor follow up that says this is a donor that's very likely to give us recurring contributions, we need to follow up with this person every 90 days. So I can set up different levels of activities and reminders to go along with that. So what this really allows you to do is organize, maintain and track wealth of information about any type of contact you would want to do. So the key features of CVCRM as a whole is it's extensible. Again, it's open source, so you can download it, do it, do with it what you want. They actually, within CVCRM there is a, they call it extensions. So you can actually go and write your own extension, which is kind of like a module is to Drupal. That's kind of like what extension is to CVCRM. And there is dozens, if not hundreds of them already available out there for some very particular information. For example, one I can think of off the top of my head is, somebody wrote an extension because they were having problem with people editing their email address and changing it to something that wouldn't validate, right? So they wrote an extension that says, that's like an email enforcer, which basically any field unless you have a particular permission, it does not allow you to change the contact's email address. That was their particular use case scenario. The point is, it is very easily be extensible. It integrates with CMS. So your users are synchronized automatically between the CMS and CVCRM. As a matter of fact, in CVCRM on the control panel on the summary thing, you can see their Drupal UID. So there is a UID and a contact ID that is tightly linked. And that's how it allows you. So when somebody logs in, we can automatically redirect them or we can even display a little banner that says, hey, your membership's about to expire in four weeks. Would you like to renew now? All right, so you might have an option to send them out an email, but maybe it's not delivered or maybe their email has changed, but they're still logging into the website. So you're trying to ensure that you're capturing your members or you can put a, you can do a user synchronization and an integration with the CMS that when somebody logs in, and let's say you're a fundraiser, and you know that they have been to other events, but not to that fundraiser, maybe you want to pop up a special message or put a special feature in a side blog that says, I want to advertise this to this specific subgroup. Import and export, I could spend a whole session just talking about importing and exporting data. If anybody tells you their data is clean, they're lying. I haven't found a client yet that has clean data. The good part is, and I do have it I think later on, there's a whole deduplication feature. So you can try to deduplicate and you can set up your own criteria of how you want to define duplicates. Here's the thing, we're all in software in some way or another. And you always know people, always try to lure you in and say, come in, give us your Facebook login, give us your LinkedIn login. We're gonna pull in all your contacts and everything else, right? Everybody makes it super easy to get your data into their ecosystem, right? What I always ask is, don't look at how easy it is to get the information into the system, look at how easy or not even possible it is to get the data out of the system. Cuz everybody is trying to lock you in. This is one thing I love about CBCRM, you wanna export your data? You can actually define your own templates and just export it as many times and in any way you want. It's all there. And I can tell you a lot of other donor management event management systems. They will take a lot of data in, but they're very, very careful about what they allow you to export out, unfortunately. And you don't realize that until it's too late usually. Or until it's gonna take a lot of effort to get that out. Last but not least is search functionality, as you can imagine, having thousands, tens of thousands or hundreds of thousands of records in CBCRM in the database. Not all of them, every Drupal user when they register, they're automatically created record in CBCRM, but not every CBCRM contact. Not every CBCRM record needs to have a Drupal login, right? Because you could have just people in the database that never log into the website so you wouldn't wanna junk up your user's table, right? So the search within CBCRM, very powerful. You can do it by email if you know their CID, if you know a partial name, match, etc., etc., you can define very powerful search engine that you can use right from within, built into it. It also works with, it has its own API, it works with rules. It works with entities. We've actually enhanced the entities at Square and we've also written a, there is views integration for CBCRM. So you can actually, a lot of the data that's already available in CBCRM, by default can be pulled out via views, right? And at Square we took it one step further and we have a module that we've contributed back that basically can expose any table, right? So even if you have custom data in the tables or anything like that, you can access it without any issues. Whether you wanna use it on the CBCRM side or on the Drupal side. And when I talk about Drupal and CBCRM side, I think the only thing to keep in mind there is, think of Drupal kind of as the front end, what most users see. And think of CBCRM kind of as the back end, your CRM system. Most, unless you're actually using the CRM system, most end users don't get to see a lot of the back end. Any questions so far? Yes, okay, what was your name? Ricarda, so Ricarda's question was, he is thinking planning to use CBCRM in an installation that could entail as many as five million records. And he's not sure whether the system is robust and scalable enough to accommodate that size of a database, okay? I'll tell you in our own experience, I don't think we've been quite in the millions. But we've been definitely in the hundreds of thousands of records. I can also tell you that one particular implementation I can think of right off the top of my head and somebody who I've met at CIVICONS or just like there are Drupal CONS, we have CIVICONS and I spoke to him at length. They implemented this with the New York State Senate. And they truly have millions of records in there and they're using it for a lot of other things. So I would not necessarily be afraid of, can CBCRM handle it? Now I will tell you the underlying infrastructure, you know, you're not gonna put this on your run of the mill shared hosting for $20 a month. So you're not gonna do that, okay? But you will need to look at your MySQL settings, that's not gonna be just, you know, your MyConf is not gonna be just a default configuration, etc. But I wouldn't have any doubts that you can handle. I mean, think of Wikimedia. I think you might have walked in just after I showed the Wikimedia foundation. And they did a presentation last year at CIVICONN. And again, don't quote me on the number, but I know they have millions of records. So the extensible part that I was just talking about, there is a whole, I don't know, again, if it's an extension or like a module or something, I don't wanna misrepresent the level at which it's integrated. But there is a whole effort called CIVISMS. As a matter of fact, I remember last year we helped to organize, the Square helped sponsor and organize the CIVICONS every year nowadays. And I remember one of the presentations at the last CIVICONN was not just the fact that we can reach out just like, you know, we send out bulk email to people. But there was actually a use case scenario where somebody has configured several services and integrated it into CIVICRM, where we can send you out a text message and you can actually reply to it. And depending on what you reply, we put it through a rules engine and reply back. So if I send it to this room, each and every one of you might get the same or similar initial message. I mean, we can customize even the initial message going out. But then we give you three or five options to respond back with. And you almost draw it up like a tree and say, okay, if Ricardo goes in and responds with one, and then we respond back with this. And if he responds this, then we look at his last two responses and based on that, we present him with something else. So you can do a lot of things like that. And you can use it also in the search functionality is great when you have somebody on the phone that calls you up. And in our practice, we've done a lot of implementations where the CIVICRM is being either imported or is being tied to a third-party database. So it might be another corporate database or something like that. There is a field that's... I don't want to call it a reserve field, but it's a special field called external ID. So CIVICRM is kind of anticipated that people are either going to be bringing in data or interacting with other databases. So CIVICRM itself has its own contact ID. It has a table that cross-references to Drupal user IDs. But it also has this external ID field where we can tie it to a third-party database because we know that that database actually keeps track of the same person via different IDs. So if you wanted to tie it to a third-party database, that could very well be something you might want to take a look at using. Again, you can set up any number of custom fields and you can keep track of five different unique IDs from different systems and you can call them via APIs or any other ways with the code. But the external ID that's built into CIVICRM, it even pops up when you're trying to do an import. It asks you and says, are you giving me something and should I match on email address or should I match on CIVICRM ID or should I match on external ID? So it already is aware of that. Some more key features, access control. As you can imagine with a lot of this data, it can get pretty involved in terms of privacy, in terms of security of who has access to what. So very similar in Drupal. I mean, CIVICRM has Drupal permissions that you can configure. But then also within CIVICRM, you can actually set up your own subgroups and you can set up your own access control all the way down to the field level. So if you have some kind of, in the United States, we have Social Security ID. In other countries, you have some kind of a unique identifier or identification card or something like that. You may not want everybody to see that just because they have access to CIVICRM. They may not want to see something that's very, you know, or date of birth or the aggregate number of contributions. So you can very finely control the access control. I've mentioned the custom fields. You can actually take custom fields and design them by the different entity. So you can have custom fields that are only associated with individual contacts. You can have custom fields that are associated, let's say, with an event. So if I'm putting up an event, I might add in a custom field that says meal preference, right? Meat, fish, vegetarian, vegan. You can put any number of things there. The good news is now, that might not be the best example for an event because really that's a preference associated with the individual, right? So you probably would want to add that custom field at the contact level because chances are if I'm a vegetarian today I'm going to register for another event a year from now. Chances are I'm still a vegetarian, okay? But there might be some preferences for an event and I'm trying to think of what would be a good, you know, good preference for an event. But you can actually do it and just tie it to the event so it doesn't pop up necessarily on the individual contact but I can say for that particular event, that custom field I filled out is that, you know, on my registration it's going to show up. Here's one. Do I want a T-shirt or do I want a mug or do I want another gift when I register, right? So that's a custom field that you can put at an event level, right? Just because I, Peter Patrick, chose a T-shirt today doesn't mean I want a T-shirt next time but it's a custom field that goes at a different level. It goes at the registration for that particular event. Virtually unlimited number of custom fields. You can actually aggregate them into field groups. And for Ricardo's question, in regards to what happens when you want to do some, like, collect data over the phone or something like that, we've done a number of these where we would design a, what's called a profile in CVCRM, which is basically a collection of fields and groups of fields, right, with the necessary information. So people are calling in to a call center and you're just getting their information and you don't want to go through all the screens that CVCRM gives you and all the options because you just need to collect eight pieces of information. First name, last name, email address, phone number, you know, something very basic. So we can design, and I think I actually have that on one of the slides about the profile. So you can design a profile and have that be exposed just like a little form and you just keep hitting submit and it keeps adding things to the database. So you can do that. And then the profiles can also be added again and registration form, I can add that profile. So you can configure almost like a template, right? And next time you do an event, you don't have to go and drag each individual field and remember what you put out over there. You can just have like a preset profile field. Deduplication, which is a pretty big deal. I mean, if you have a five million, now I will tell you one thing, with five million contacts you will have to be very careful how you run deduplication, okay? Even with tens of thousands of records, when you're trying to say, you know, Ricardo, what's your last name? Okay, I'm not gonna try to pronounce that. But if Ricardo, if I'm trying to identify if there is, if Ricardo has duplicate records in his database, right, and I have 100,000 or 200 or 300,000 records, it's possible to run it, but it's not gonna be very resource efficient. So what we've done for clients that have those kind of large installations, we recommend basically breaking it down and say, okay, let's run through, let's say, 10,000 at a time. And again, I'll reference Wikimedia. They have a big issue with this because a lot of times people come to Wikimedia and they don't want you to know who's donating money, right? Or they, so Wikimedia will take any donation and they don't require really virtually any information about you. Well, good luck trying to deduplicate that dataset. So they have a system that they're gonna be contributing hopefully back into CPCRM where you can actually batch deduplication assignments. So you can assign 100 contacts to this person and 100 contacts to this person and 100. So when the system runs, it flags everything as a potential duplicate, but then it assigns, you can use volunteers, you can use staff, et cetera, and you can just have these mini batches of can you, it needs some kind of human intervention and some kind of reality check. So can you look at these 100 records and then it doesn't become so overwhelming to say let's duplicate 5 million records, at that point it becomes, well, can we do it 100 at a time? And it's gonna take some time and it's gonna be resource intensive, but it's very much possible. Tracking, so any kind of tracking, part of it is the activities and we've started using it some time ago for even adding activities to, you know, let's say personalization. Somebody comes in and we know it's Ricardo or we know it's Sebastian coming into our website. They might actually create an activity in their record that says they've already come. So next time they come, we already know that they're not a first time visitor and we need to change their experience of what they're looking at on the website. So we can do a lot of things like that. And again, last but certainly not least, mapping. You can create your own mapping, you can export things out, you can geocode it, all the addresses, et cetera. If you wanna have a directory of members for the organization or you wanna see where all your contributors are located, et cetera, you can do all of that and you can search by location. So you can say, you know, like in the United States, it would be, we have a zip code and I wanna find everybody that's within 10 miles of that zip code. So you can do that there. And again, all of this information, if you don't like what CVCRM, particularly how it presents and everything, you can either write an extension or do it yourself in CVCRM or you can grab it through views and drupal, you know, entities and you can play with it to your heart's content. So there's a lot of different use case scenarios here. All right, so we've got a few more minutes left here, so let's look at some of the components and some of the functionalities behind it. So there is the city contributing, these are not, this is not an exhaustive list. City contribute obviously manages, even though it says contribute, all money coming in, all right? So donations, event registration payments, any money coming in is right here in city contribute. CV member, that's membership tracking and again, that doesn't necessarily have to be a membership. It could be just an annual subscription of some kind or something like that. So you could use that for that. CV event, event registration, CV mail sending out bulk email, all right? So whether you've been using MailChimp or CV or a constant contact or something like that, you can actually have something that's built in right here. And again, on the front end, it allows you to customize and segment what you want to do, then you can use your tokens, including your custom fields, and ship out all your emails. As a matter of fact, the latest release of CVCRM now has AB testing. So you can send out 100 emails over here and 100 emails over here and you can track independently the response to two different email campaigns or same email campaign but two different ways of presenting it, all right? Ricardo, so you're asking about marketing automation. Tell me more about what you're looking for. So the question is, how does the webpage change depending on the visitor? And I would say this is a combination of CVCRM and Drupal really. So we can send out emails and you can have a hash. So we know who received that email and when you click on it and you come to the website, we know that's the person with that email hash that came in. So that's the functionality that you can do that. Now what you do with it, you can hook it up to rules. You can hook it up to any number of modules to present. We're working with a number of clients right now that are taking personalization to a whole different level. What we've been doing is setting up wildcard domains, right? So like squared.com. But now when we send you an email, it actually doesn't have this long string of hash code and everything else. It just says Ricardo.squared.com. And when you arrive, it's the regular squared.com page but we know it's Ricardo now. We know this is your first visit. We're doing it for a lot of, let's say, educational institutions that are recruiting new students. You're coming in and we say, oh Ricardo, now we go back into the database because in a custom field we have stored or in a relationship we have a record of who's been assigned as your advisor because we know which high school you went to and what was your major. We've already assigned you an advisor. That's an expert on that particular major because we know you're probably going to start computer science, right? But Sebastian might be a liberal arts person so we're going to assign him to a different. So the picture that shows up when you come to Ricardo.squared.com and when you come to Sebastian.squared.com you're going to actually see structurally perhaps some similarities in the page, right? Navigation, et cetera. But you're going to see different information and you're going to see different information depending on what we're pulling out of our database on the back end here. Some very, very neat stuff here. We can actually embed maps because we know your address now. We know that you came to our websites and say why don't you come and visit our location here and oh here's the map, it's only 13 kilometers away. Things of that nature. So we can do a lot of things with customizations here. And then of course you have token and then again we know that you've arrived at the website depending on the level of authentication that we're wanting to put in there. We might want you to log in with your Facebook which allows us to collect a little bit more information about you but at the same time then you're logged in. And so when you click on yeah I want to come in for an onsite visit of your university or your organization. We can already pre-fill half the form or big part of the form because we already have that information in the database and you're looking at it and hopefully validating it. There are other components called CV report that's a whole reporting mechanism there. CV pledge for peer to peer campaigns. I'm going to pause here for a second because in terms of the components because I want to mention a specific client that we've designed they came to us and they said you know we always go to our donors, to our alumni and basically it's a one way conversation. Hi we're such and such university do you alumni please give us money because we're trying to fund some scholarship because we're trying to build a new building etc etc and a lot of people are smiling and nodding so you know what I'm talking about and it's a very one way street we go out and ask and the alumni maybe donates back and they kind of said you know maybe we want to do something different. What if we try to fundraise in a method kind of like a kickstarter and kind of like have you seen like the walk-a-thons when people say okay I'm going to go participate in this race or I'm going to walk 50 miles and for every mile I walk I'm going to engage my friends and they're all going to contribute a dollar a mile or 50 cents a mile or something like that right have you seen those before so we actually went out and used this peer-to-peer fundraising methodology integrated with CVCRM and deployed at major university and so they have this kind of a cross between a kickstarter and a walk-a-thon fundraising thing so now it's not the university just going out to its alumni they were smart enough to realize hey our alumni are probably our best advocates and a lot of these people when they're having a birthday party or something or they want to fundraise money or they're going to go into their office and get people active around a particular cause they're our best sales people and imagine what it's like and let's say you have 50,000 alumni and those 50,000 alumni can tap into their network now you're going to like two levels of separation right things that you never had access to now you're allowing people to say come on this website, create your own profile page right so Carlos comes in and says I'm an alumni I'm going to create a page but next time you're wanting to get engaged in the community or something or fundraise money you might say to all your friends please go and donate here or be part of my team a lot of different options that can happen there and I see some smiles and nods so I think you guys are starting to relate to this they launched this in November and the return on investment for them has been fantastic the feedback from the alumni was like you know it's my 40th or 50th birthday and I had this big party and I don't need another gag gift and I don't need people donating so I created a page that says Peter's 50th birthday I'm not 50 yet Peter's 50th birthday and 100 of my friends that showed up to my party they donated some $20 some $100, some $500 because they knew that giving me a present wasn't going to be as meaningful as me supporting my university and they've had many many many people go on the website create these pages, create these teams and create these campaigns and fundraise a lot of money since November there is a whole HR system that works with CVCRM it's called CVHR appropriately that's in very active development especially in developing developing countries there is a non-profit out of England out of the UK that's funding a lot of that development and then there is another company in India that's actually going out to non-profits that need managing the volunteers and everything else so CVHR has become a big big thing there there is an effort to make this all mobile as we know that's a very important thing and certainly on the front end it's, you know, you can theme it but it's also the back and the administrative side of we're coming into an event and we're checking people in registration role we know who's registered but now we want to check people off and say they actually participated here the functionality is there to know who's come and gone or who's come and who didn't come but we're trying to streamline a lot of those things now CV case, CV grant and again don't forget all the extensions that are available alright I'm going to pause here make sure there are no questions I can talk about, I've got slides that are prepared for any of these components if you want to delve into any specifics of these I can talk about some more of the community and ideas and I'm certainly happy to entertain some questions and provide answers to the extent that I can so this is kind of audience decision point of which way does the presentation go what does everybody think I have some questions so we have some questions in the audience and Ricardo's got questions alright so let me take a look here really quickly let me see here, let me go through here let me just finish off a few things here that I still have prepared in terms of how do you get started I know I met a number of you before we started the presentation today and you said you've already tried to play with it or it was a few years back so let me just say what does it take to go live or what does it take to get engaged with CBCRM first of all I would strongly encourage you to start planning certainly you can go out there download it and start using it but it will require some planning in terms of how are you going to lay out your data, relationships where are you going to store information how are you going to validate it, geocode it etc so you definitely need to set up some kind of a plan of action and presumably you're not going to be starting from scratch with existing data so how are you going to migrate it etc so that's a lot of things that go into planning there budget and I don't just mean financial budget allocate some resources whether it's to deduplication or to the migration or to the data import or configuring again you can go through the membership system we had organizations that had nine different levels of membership and within those levels of membership you can define when you want to consider somebody a new member when you want to consider them just in a regular cycle when they're about to expire how long of a grace period you want to give them some people say it expired yesterday today you don't have access other organizations say well you know what we want to give them access but maybe limited and only for two weeks so you have to go in and configure it and you really have to budget for those kind of resources to be able to do it manage it like a process manage it like any other project again this is not something I wouldn't say this is something like hey let me download this small module plug it in and see what it does you really have to manage this as a project because you're dealing with a lot of data some of the costs in terms of that is you have to look at the implementation so the software is free just like with Drupal but you do have to look at implementation costs even if that cost is just your time just like with Drupal then you have to go in and decide on all the configurations what do I want how do I want it and this is where it helps and we've been approached a number of times at SquareNow where people come to us and say no we've got internal developers or even other Drupal shops that are doing some implementations or some non-profits that are much bigger and actually have own staff developers they come to us and say can you be a technical advisor and let us understand how to configure it because all the options we don't necessarily want to go through every one of them and figure out what's right for us we just want to tell you where we're trying to get to and you tell us what the right configuration is so that could be a cost we kind of mentioned hosting in terms of depending on how much data you have etc there are some hosts and if you go on cvcrm.org there is a whole list of host companies that support cvcrm you can run this on your local Wamp or Mamp or any kind of installation but again once you start loading in data and you expect people to interact with it etc you're going to find shared hosting only goes so far let's put it that way I'm not going to say it can't work on it but it only goes so far so that's going to be a cost and then you have to look at the possibility of upgrades what what is going to be your path going forward because chances are you're not just going to put this in and take your hands off the wheel so that's all the kind of costs again this is not just financial some of it is human resources and speaking of resources I would encourage you going to cvcrm.org there is forums out there there's documentation there's a whole ebook you can download in epub format or pdf that walks you through a lot of the functionalities of cvcrm that was actually one of the things I personally have worked on during the code sprints is improving the documentation you'll find a list of people that provide services and partners square is one of the founding partners of the cvcrm partnership program and then there is the ebook look at the community so there is a cvcon which is taking place it's in the second part of April of this year in Denver so if you want to come and check out cvcon now there is a second cvcon that usually takes place in Europe generally in London just about the week before the European Drupal cons are usually in the September timeframe so if you happen to be in Europe around that time and then also usually in the earlier part of September I believe is a cvcrm user summit that takes place in Washington DC or has traditionally and I think that's what's going to continue trainings just like with Drupal cons there's trainings associated with these events hashtag cvcrm is well obviously if you search on twitter you'll find it but that hashtag actually is for IRC channel so if you're an IRC jump on cvcrm ask and globally we just about two weeks ago we had what's called a cvday it's one day where globally everybody organizes a meet up and has presentations and introduces people to the ecosystem so there is a lot of and we had over I want to say over 30 different locations around the world participating in this cvday meet up effort and a lot of those are ongoing like we host square host the one in Dallas and we've been hosting it for four or five years now so we have a lot of people that are on our mailing list we have a lot of people that we invite and we generally just pick a topic and where we like there's going to be actually one this Thursday while I'm here we're hosting one in Dallas that's what we call just bring your own problem, BYO so people come in they might have a local installation or on the server I'm struggling with something I can't figure this out this concept is really strange to me what can I do with it so that really is kind of the summary of CVCRM and we're going to get to the Q&A one thing I would like to ask you is please please please go to the Drupalcon website and go to this note 3293 yes and fill out the evaluation for this session they've asked us to not just mention it but really encourage you to go there and fill out the evaluation it helps Drupalcon to do better next time so that's my part of this of talking about it but I know you have questions so I certainly appreciate everybody being here and the sponsors and the organizers and the volunteers I saw a couple of you here with the volunteer badge so thanks for putting this on because I think it's a fantastic event to expand Drupal and the entire ecosystem around it into Latin America so thank you for that questions ok so the question is about business intelligence tools and I would say that's a market that's starting to evolve data is obviously there it's a MySQL database so if you have a third party tool you want to use you can certainly use it there is a very advanced API that you can use within CVCRM which is also a good thing and I would say that there are a lot of efforts to take like Drupal and the views integration and things like that one of the it's in beta right now what we've developed at Square is what we call CVCRM dashlets you can take a nugget of information maybe I just want to see how many people registered yesterday for a particular event or in the last week or what's the value of my donations over the last 30 days now you can already do that today and put it on in like a little line report but wouldn't it be nicer to be able to break it out and say for this event we had 5 people that registered that are students 3 people that are developers and 2 people that are interns and complete newbies and you can put it into a nice little pie chart or something and you can embed it into a dashboard or a page or a block or something like that so there is a lot of effort going into the business intelligence behind it because we're aware of how much data is available here it's the central point of data repository and now there is a severe report that you can write your own reports but it's more about the graphing and more about connecting the data now ok so the question is on integration I'll just say third party systems and I would say very much ongoing effort and it depends on the system we've done a number of these third party implementations and at some point here's the thing, it depends 2 things that are dependent sometimes you might want to make Drupal kind of your integration platform in CVCRM being just one of the legs of that integration and then ERP really connects more to Drupal than to CVCRM in certain instances in other instances you can integrate it into CVCRM and you can do it that way and then your second decision point is are you trying to get data in are you trying to get data out are you trying to have two-way communication ok if you're trying to have two-way communication certainly you want to be using API whether it's on the Drupal or CVCRM site the university I mentioned earlier where we did the development they needed specific data that was going to be pushed because they have a separate donor database so this kind of a Kickstarter crowdfunding tool on their website and it was all CVCRM driven it's all self-contained but they didn't want to miss out on the information that was coming in through there and they wanted to feed it into their donor management system which is used across the entire university so we built an integration between those two systems so it's certainly possible to do third-party system integration here and then say that again yeah so you can do it again via the API you can do it as a web service and this is again the good part of CVCRM is tightly integrated with Drupal so if you can get to the data in Drupal even you can set up a endpoint in Drupal and have that be serving data where you're now intermixing saying something like ok here's data where I want to get specific data about members and I want to also pull out the last time they logged into the system ok so one the membership stuff you would be pulling out of the database from CVCRM because that's where that's being kept track track of but then Drupal is going to give you the date stamp of when was the last time they logged in the question is on voiceover IP integration and I don't know any off top of my head I know we've had discussions about it on the CVCRM part but I'm not 100% sure right now yeah there is a Drupal module this is where the discussion gets very blended because some things that you might want to do even the third party database integration is it really a Drupal question or is it really a CVCRM question and so it's kind of like this with Drupal so a lot of times what we find is people are trying to blend in multiple information and I think Drupal is an extremely well suited tool for that blending of information and again this goes it goes back to Driesa's keynote from this morning where he said Drupal has that aggregated module Drupal has that capability to pull all of it together and present it out and again that just depends on your use case scenario so you might want to kind of punch some holes in CVCRM and say okay we're going to expose this and people are going to feed this information we're going to pull things directly into CVCRM but then you might have other use cases where you say even though this is coming in through CVCRM we're actually going to hand it off to Drupal that engine within Drupal the aggregation happens from even more endpoints and then Drupal itself could be an endpoint to yet another system learning curve in CVCRM I think it's just like with any other system you know it's a complex system it's big I would not say again to me this is not something where you know you download a simple module you enable it and you check a couple boxes and you're using it but again there is trainings there is documentation there is a very strong community around it and you know I've thrown a lot of possibilities out here as far as what's available out there in practice we rarely see implementations where people take on everything at once as a matter of fact I would say it's kind of like Drupal saying you know there's I don't know 20,000 modules out there well how many are you using on any given website right you know 50, 100 you know whatever your needs are but it's nowhere near what's all available out there and I think that's kind of the way to look at CVCRM this is not something that you enable and you try to use 100% of it this is something you enable even today I got an email from a client of ours that basically said we've gone through implementation we really love what we have now we're ready for the next phase right so really I would break this down into phases and say okay what's the minimum viable product and then what's the next layer and what's the next layer and how can we go you know it's again goes back to the continuous integration and continuous improvement you know this is not a system where you just jump in put it in deploy it and forget about it this is more of how can we get to market in a reasonable time and cost and then depending on this this is the other thing that I've seen happen and again this is not CVCRM specific in particular but what we have seen happen is you know people think they need something in a project and when you give them the first part the minimum viable product and they actually start using it they realize a lot of the things they thought they were going to need they don't actually need it and they need something else because now they get feedback from users or something new has happened in the market etc so you know in terms of learning curve implementation costs I would say the key here is know what your minimum viable product is what is it going to take to actually use it and then be open to shifting the phases as time goes on and as CVCRM evolves they right now they're on about like every six months release schedule right so every I mean they're releasing minor releases but the kind of more significant releases where more functionality and everything else takes place that happens about every six months and you don't have to upgrade if what you're using is fine you know you don't have to upgrade just like with Drupal but there might be a lot of neat features and improvements and bugs and performance improvements that you might want to take advantage of yes please okay so the question the first question is what about SaaS provider software as a service providers for nonprofits that may not be able to afford a full-on deployment hosting configuration etc there are some out there I know there's one that's out in Europe and I want to say there is at least one or two of them up in North America so there is availability to do it basically on a subscription service generally the limitations are going to be either by the number of contacts you're trying to store or the amount of email you're trying to send out or something like that and again it's not a bad place to start you might find out that for 500 contacts or 1000 contacts you want to keep track of that is actually a very feasible solution that you have to necessarily deploy on your own and in some ways at Square we have done that for a number of our clients where their actual front-end website is completely separate and we just put a Drupal GUI wrapper around CDCRM and then we hosted on like a CRM.example.org for the clients to use as their almost back-end internal tool and then as they grow they might want to expose parts of it and so then we just basically integrate through a number of things number of methodologies to their main website so they can still reference their CRM.website.org that's their CRM system but it doesn't impact necessarily their main website per se so there are some options where truly it's software as a service and then there is what I would call it's more of a hybrid where like at Square we provide that to our clients we do the hosting, we do the maintenance and everything so for them it's effectively a service but then they have the benefit of having knowledgeable developers and somebody that understands their process that can help them out over the long run. So the question is how does CVCRM compare with some of the other CRM systems that have been in development and or gaining traction within core or other CRM systems okay. Number one I think CVCRM is already since 2004 so it's battle tested it's got a large community around it etc every time I've looked at some of the other CRM solutions I would say they're a good start but they lack the maturity and the critical momentum which you'll find again if you're looking at CVCRM and go wow there's one feature I would love to use and that feature already exists in another CRM you might not need to implement the entire CVCRM but that one feature but the real question is where and how are you going to grow in the future because chances are just because you implemented that one feature in six months you might say oh I want to do something else or I want to expand on this is that system whatever the other system and then there are good efforts there and I've talked to some of the people that are developing them and again it's it's about the CRM community and the rising tide lifts all boats so it helps everybody there is a couple other systems out there that I know I've talked to people and some are backed by commercial companies more than others so you have to kind of consider your philosophy and scalability and sustainability long term whether you want to go down a certain path where it's dependent basically on one Drupal shop providing that what I would say is the distinction there being some of these efforts are more of a framework so they don't they don't have use cases they don't have so they take it as a framework and then they implement it in a particular way where as CVCRM really you can get running out of the box in any one of these modules pretty quickly it's a framework but it's also kind of preconfigured for use you're not starting from ground zero whereas I know some of the other CRM efforts are very much at a point of we're the framework and you really have to build the house on top of it you're welcome any other questions? alright thank you everybody enjoyed presenting for you at the Drupal Con