Salesforce integration - categorisation based on pricing plans - salesforce

I am stuck as a developer trying to explore Salesforce for integrating with my CRM which is used by our clients as SaaS.
Background of what i want to achieve in the integration
The idea is that my CRM software allows many features that Salesforce does not and vice-versa. Due to this a typical client who is using my CRM (Saas) ends up using both the softwares. This ends into duplication of efforts where for eg: a customer created in my CRM has to be copied over to Salesforce manually from Salesforce UI.
The integration that i wish to provide will work like a 2 way integration where a customer created from my CRM gets created as Accounts in Salesforce and vice-versa. Same way sync of edits and deletes across the 2 system should work.
Problem that i am having
When i started exploring Salesforce integration, i found that Salesforce allows integration to be done in below ways
Apex trigger based system - I was able to achieve 2 way syncing with Salesforce and my CRM using Apex approach. But the problem is it requires me to access their web api's to send data from my CRM to Salesforce. This feature is only supported in higher pricing plans of Salesforce (Enterprise, Unlimited, Professional - you have to pay extra if you are using professional)
App based approach (eg: Slack): I am looking more towards this approach. As Slack integration works for almost all pricing plans and is supported well. What i could not conclude clearly is - how can i create an App for my CRM and get it listed on Salesforce? How does Salesforce allow an App based access from Slack to submit data into Salesforce system for lower pricing plans. Their documentation says that Api access is only available for higher pricing plans. Then how is this achieved? For eg: you can install Salesforce app into Slack and there after you can send messages to chatter service under individual accounts of Salesforce from Slack.
I am really not sure if i have given enough insight into the problem i am having. But i tried explaining as much as possible. In short i want to integrate 2 way with Salesforce and i am looking for possible solution that is supported at lower pricing plans as well. What type of integration should i go forward with?

Look into using an ETL provider that already is a salesforce technology partner (Boomi, Jitterbit, etc...).
These are already on appexchange.com, and as certified appexchange apps, can access data in salesforce Professional Edition (which does not allow open API access).

Related

database.com force.com and salesforce.com

I am currently trying to learn salesforce.
Following is my understanding(correct me if i am wrong)
Database.com
Database as a service.
Uses oracle under the hood.
Provides REST API service to interact with database.
Force.com
Platform as a service.
Provides metadata layer(Apex language,tool to edit/debug code,visualforce page etc.)
Provides default metadata for database.com field types.
Uses Database.com under the hood(for storing data and metadata).
Salesforce.com
Software as a service.
Uses Force.com under the hood.
Provides few data model (i.e.schema) eg:-sales,marketing.
Provides a framework(mainly UI) to create/configure various parameters of metadata and data model.
Question
I believe database.com, force.com and salesforce.com are 3 different services.
But on searching I am always reaching to salesforce CRM.Is it possible to use Database.com or Force.com alone i.e. without salesforce CRM?
Thank you!
I believe the database is currently going by the name of Force.com Database, while database.com is the name of one of the salesforce editions (products). I haven't heard much about database.com recently, and most of the links to database.com seem to be redirected, so it seems like they are trying to phase it out.
As for the underlying database technologies that support salesforce, Oracle seems to be the main one, link, link. But when working with the force.com database, it's very different from Oracle, and the SOQL language is very different from SQL (e.g. no JOIN).
Your description of force.com and salesforce.com seems basically correct.
As for using them separately, you can essentially build a web app to do whatever you want on the force.com platform. That being said, the ecosystem mostly revolves around the CRM products (sales/service cloud, marketing cloud). Besides CRM customers developing/customizing the systems for their own use, the platform also draws ISVs who publish their apps on the appexchange to sell to salesforce.com CRM customers.

Salesforce: is it possible to develop a web application on top of Salesforce

Let me start with a bit of background: I'm helping a non-profit organization that would like to have a browser-based application that is backed by Salesforce, but has very specific requirements.
I see Salesforce has a REST API that we can call, so we can develop a standalone application to serve the web pages they want and use the REST API to call Salesforce when needed.
I'm wondering if there is a way to host a web application directly on Salesforce; this way we don't have to have a separate application server. Any recommendations or pointers to documentation/open source products is greatly appreciated.
Yes, you can create services that will allow your app to hit Salesforce
Depending on the type of application, yes you can host it on salesforce using the Salesforce Sites feature, also you can develop and host your app on Heroku which is owned by salesforce and can sync data to and from salesforce using Heroku Connect, or you can build and host it on another service like AWS and connect via the REST API. You just need to investigate and choose the option that best fits your use-case. One thing to be aware of is that there are API limits (the number of calls you can make to salesforce in a rolling 24hr period). Depending the the needs of the app be sure to see if those limits will be an issue. Because if the app makes constant calls to salesforce that could be an issue. But there are things you can do to get around that, like caching.
Yes, both Force.com Sites and Site.com features allow you to host webpages on the Force.com Platform. The markup is stored in Visualforce Pages and can use Apex to access records in the Database. I have migrated multiple websites (including our company's www.mkpartners.com) to Force.com using Force.com Sites.
One thing to keep in mind is that you are limited to 500,000 views per month and the rendering of a page with images that are also stored on the platform will incur a single view for the page and a single view for each image. If you already have a very popular website, I wouldn't migrate. If you're a small business or nonprofit, then it should be fine.
Another thing to keep in mind is that dynamic functionality based on records in the database will not work during maintenance windows. There is the ability to upload a static version of your website to be rendered during these windows though.

How can I make free/busy information available across Calendar server, Google apps and Exchange?

As some background, my company is currently using an Apple Calendar server, some Exchange servers and a Google Apps subscription to provide calendaring for different parts of the organization. I've been tasked with providing free/busy access across these services while we try to take at least one of the services out of the equation.
I've attempted to use Google Interop, but it does not work with Exchange 2013 due to Microsoft eliminating Exchange Public Folder Databases in that release. I've also set up an IIS WebDAV server to attempt to share calendars, but this has shortcomings as well because only one person is able to moderate the calendar, and f/b data can't be queried in the Apple Calendar app - you have to subscribe to a separate f/b calendar.
Are there any suggestions as to how I should proceed?
If you can write your own connectors for each service (ie using propietary API's) you could then expose that information through a custom caldav service.
For example you could use http://milton.io (java) or http://sabre.io/ (php), both allow pulling data from arbitrary data sources.

Salesforce Quickbooks Integration using REST API

We are looking to develop our in-house custom integration between Salesforce & Quickbooks.
So far we got to the point that we need to develop some Federated App on Quickooks platform.
Is there any way to access/update Quickbooks data from Salesforce using REST API without developing app on IPP?
You can use the old QuickBooks SDK. It's free, and XML based. But it will eventually be retired, in favor of IPP.
The next thing from IPP (Intuit Partner Platform) is Intuit Anywhere (IA), which avoids you having to do a full federated implemented. Intuit Anywhere is 100 times easier to integrate than federated, mainly because you manage your own billing and user management. There is a cost to use their Rest API, it's $5 a month.
We do both. We have a legacy SDK app that works great for the QuickBooks desktop version. We also have an Intuit Anywhere sync that we use for QuickBooks Online. Note: you could use the SDK or IA for either.
Questions: Why not use use the standard salesforce DataSync link from Pervasive?
Also, does it have to be salesforce? CRM's like Method CRM have the syncing seamlessly built in, so you don't have to mess with anything.
Paul
We have used AppSynergy's federated integration with QuickBooks to create an employee facing web app that reads and writes live QuickBooks data (mostly purchase orders in our case) based on data from other systems.

Web Analytics & Stats

We want to add tracking statistics to a web application we are building but are pretty unsure of how to go about it. (i.e. clicks, pageviews, unique visits etc)
Does anyone have any articles on the best way to go about incorporating tracking data into an application ? i.e. javascript tracking or IIS etc ?
We want to add tracking in as a ASP.NET MVC module - but we are unsure as to the best way to actually get the data and essentially 'track' this information ?
If anyone could help out - much appreciated.
Edit: just to be clear, we want to do this in-house and present the stats to our users as an additional fee module?
You can turn on the logging for IIS and then use the SQL Server Report Server Pack for IIS. It comes with many canned reports for your sites stats and then you could take it from there with your own custom reports.
You could also just use log parser to get the stats into a SQL Server DB and then you could use SQL from their to analyse and roll your own app.
Either way, you could modularize this and sell it as an add-on to your customer base.
You could use Piwik, you just need PHP version 5.1.3 or greater and MySQL version 4.1 or greater. As they say in their website, "Piwik aims to be an open source alternative to Google Analytics."
They have a demo on the official website so you can see if it's what you're looking for.
Google analytics is a popular service. You just insert a bit of javascript on every page that contains your sites name and Google tracks the data and provides all the report on a handy web based dashboard.
It's not an ASP.net MVC module like what you mentioned, but it will certain track stats for you and will be a lot simpler to set up than trying to code or integrate anything yourselves.
I'd look at analytics to begin with and only branch out to something more complex if it doesn't meet your requirements.
klabranche provided a holistic answer in terms of using logs of web server. I think using web server log is a a great way to analyse data of your web application.
That being said, depend on your web application and the scope of your analytics, just relay on web server log is not a good way to.
As you may know, web log does not record users behaviors like clicking certain tabs which may not trigger a web server request. Obviously your web log has no idea whether users clicked that tab or not, this may hurt your analyse.
Another you need to know is browser cache, this may create another black hole in your data.
RECAP
If you want to do a holistic analytics, you need to use two approaches, one is JavaScrip tag, another one is web log. Since both of them have shortages, combining them together will give you a complete picture.
Hope this helps

Resources