Build salesforce integration like hubspot or workbench - salesforce

I'm created a connected app in salesforce and consume contacts in my application, but for this, a need a consumer key from connected app.
I would like to create an application that consumes my customers' contacts without them having to create a connected app and generate a consumer key, in order to access their list
I saw this in a hubspot integration in salesforce, where it was possible to install a hubspot package and consume the contacts, I tried to create something on the appExchange but I was unsuccessful.
Can anyone tell me a tutorial for this? I've been searching for days and I can't find anything.

without them having to create a connected app and generate a consumer
key
Good. They don't have to. Have you actually tried connecting with 1 org's client id/secret to another org? Have you hit any issues?
Think about it. You're making a new awesome mobile app that connects to Salesforce. You'll want to make it work just like that, on any phone, any SF org, without org admins having to do any installation steps. You can generate OAuth2 keys in any org, even your personal Developer Edition. You could generate them in sandbox - but they'll be deleted when you refresh it.
Check if my answer https://stackoverflow.com/a/69810951/313628 helps you understand the whole thing.
Now, there might be some things you do want in every org, maybe some config custom table... You'd have your mobile app and then maybe a Salesforce plugin published on AppExchange. But that's battle for another day and you don't need it for basic functionality.

Related

Firebase - Add many apps to one project

This is the first time i'm working with firebase. My goal is to have a bounch of client apps (more and more over time), all of them managed by an admin app (One app to rule them all).
The thing is that the client apps have a certain content that needs to be updated from the admin app. My best approach is to create a firebase project, put the admin app there and adding client apps over time. I'have read that is possible to have an unlimited number of apps inside one Firebase project. On addition, someone told me to create one project for each client app and connect them to the same database somehow. I simply don't know what to do.
Which would be the best solution for my problem? thank you
firebaser here
A Firebase project can currently contain up to 30 app definitions. This is meant to support variations of the same logical application. For example, having an Admin app in addition to the app for regular users, and/or having an iOS, Android, and Web version of the same app, and for example having a free and a pro version of the app (if that is allowed by the stores where you deliver them).
Adding multiple apps to a project is expressly not meant to be used for white labeling apps, where you ship essentially the same app with different branding to different user segments, as you'd be sharing the backend services between them. For some backend services (such as database and storage) this is not necessarily a problem, as you can isolate the customers with security rules. But for other services (such as authentication and analytics) this is not possible, which is why this use-case is not supported.
If you need to define a separate app in the project for each customer, the only supported approach is to create a separate project for each customer.
I'have read that is possible to have an unlimited number of apps inside one Firebase project.
In that case please provide a link, so we can either fix it, or (if it's not in the Firebase documentation) leave a comment to clarify.

What are the access levels on Salesforce orgs? How to get retrive Managed Package metadata?

I am working on a application developed by third party on salesforce , This is a managed package application. I have access to UAT org and some other orgs. When I tried to retrieve the packaged application metadata using salesforce Ant migration tool,I got all the components in the package retrieved successfully. But the content of this components is shown as "(Hidden)". I am not able to see any real code in this components.
Are there any access level restrictions on Managed package? if yes How can I know the restrictions?
Also It will be very great if someone can help with application life cycle management of a managed package application in salesforce. As I am new in this field , Please recommend any tools for the same.
Thanks in advance.
Managed packages are typically used by salesforce.com partners to distribute and sell applications to customers. The code of managed packages cannot be retrieved.

How do I authenticate users of a web-app to access GCP data relevant only to them?

I have spent 3 days researching this problem and cannot find a solution or similar use case that shows how to solve the problem, so any pointers would be greatly appreciated.
I am creating a web-app that uses Google Cloud Storage and Bigquery. A user registers on the web app and then can upload data to Cloud Storage and Big Query. Two users could be from the same company and therefore should be able to view the same data - i.e. Jack and Jill work for company A and if Jack uploads a massive dataset via this app, Jill should also be able to view it later.
Another scenario will be I have two completely separate clients with users using this web-app. If users from Company A upload data, users from Company B should not be able to view Company A's data, and vice versa. But users from the same company should be able to view the data within their company.
Currently, I have an app that works for a single company. This has a React front-end that uses Firebase for authentication. Once the user is logged in, they can use the app which sends off API calls to a Flask back-end that does some error checking and authentication checking and then fires off an API call to GCP. This uses a service account and the key is loaded as an environment variable in the environment in which the Flask app is running.
However, if Company B want to use the app now, both Company A and Company B will be able to see each other's data and visualize it through the app. In addition, they will be sharing a project (I would like to change this to allocate billing more easily to have each client have their own project).
I ultimately want to get this app onto Kubernetes and ensure that each company is independent of each other, however, do not want to have to have separate URL's for every company using the app. Also, I want to abstract GCP away from the client. I would prefer to authenticate a user based on their login credentials and then they will be given access to their GCP project (via my front-end) accordingly.
I thought about perhaps having separate service keys for each client and then storing the service key info in Firebase, while using the respective keys for API calls but not sure this is best practice. It is however the only strategy I can think of.
If anyone could provide some help or guidance it would be very much appreciated. This is my first GCP project and have not been able to find any answers on GCP, SO, Google Groups, Slack or Medium.
Thanks,
TJ
First if all, welcome on GCP! It's an awesome platform, very powerful and flexible. But not magic.
Indeed, the use case that you describe is specific to your business logic. GCP provides told for securing access for user and VM(through service account) but not for customer. Here you have to implement your own custom and authorisation logic, with a database (I don't recommend bigquery for website, the latency is too high) to list three users, the companies where they work, the blobs of each company...
Nothing is magic and your use case specific.
If you want to discuss more about which component to use and to start, no problem. Let a comment.

How to create a Salesforce app like Mailchimp

I am looking to create a Salesforce app like mailChimp (https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B3byfEAB) have. I want to create an interface under the salesforce to allow the user to do some field mapping, Just like Mailchimp app allow to map the Mainchimp field and Salesforce Contact fields. I have gone thought the Salesforce documentation but found it very vast not getting where to start and did not found which kind of scripting it require to create the app.
I have a developer and a partner account. If any one can put some light on it and give me some short answer for the below question will be really helpful.
Where to start for creating an slesforce app.
The app we create from the Salesform CRM account and app listing on AppExchange is different?
Is this apps are hosted on salesforce itself or hosted in our own server?
Which scripting language is required to code the Salesforce app?
Can we call the external API's inside the Salesforce app?
After asking question, I also work on this to get the answers for my question. I am sharing my RND below, So it may help someone and can save their time.
Here is the complete document link for the app creation and publishing on app Exchange, you can go thought it and find all the answers step by step.
So below are the very short answers of the question I asked.
Where to start for creating an slesforce app.
Step 1: Sign Up for the Partner Program
Step 2: Create a Development and Test Environment
Step 3: Get a Business Org
After doing the above 3 steps you can get a environment hub into Business Org, By which we can create different organization to create the app in one org (that is dev org) and install and test into the other org( that is test org).
The app we create from the Salesform CRM account and app listing on AppExchange is different?
Yes, From Your CRM account you can create the app, package the app in beta version. Once you done the testing with beta app by installing it into your Test Org you can deploy it for app exchange, After security review you app will be available into app exchange publicly. You can do it from your salesforce CRM account itself (See the above doc for more details)
Is this apps are hosted on salesforce itself or hosted in our own server?
There are two types of app:
1.VisualForce Pages app: This app is besically a collection of VisualForce Pages and reside or hosted into the saleforce itself.
2.Connected App: Connected app also includes the VisualForce pages as need but it also provide the client id and client secret key by which we can authenticate the user and call the Salesforce REST API from the outside of the CRM. So we can say this is something we can host the API access code into our own server.
Which scripting language is required to code the Salesforce app?
For Coding into the VisualForce pages we required Salesforce Apex Scripting and HTML.
Can we call the external API's inside the Salesforce app?
Yes, Using the Apex HTTP class we can call the external API's into the salesForce.
Hope this will help someone.

Salesforce licenses

I'm struggling to get the best choice for me in terms of kind of license I need. I just want to connect my website using chatter through OAuth2 as well as I have been developing a canvas app. Everything has been done with my developer account in Salesforce but I have been wondering if I need to purchase any kind of salesforce license to use it. Even I have been wondering if I need a new license to upload my canvas app to salesforce appexchange.
I will be really grateful if someone could tell me something about it because I don't really know what I should do due to salesforce licenses are expensive.
Thank you so much
Diego
First thing I would suggest you to do is create a Partnerforce account here if you are planning to sell your app on appexchange. After that, log a case on partnerforce asking them how to go about it. They are helpful people and should be able answer your questions well.
To list the app on Salesforce you will have to follow certain steps:
1) Firstly join the DeveloperForce free.
2) Signup for Salesforce Partnership
3) Now through APO Create a Test Org and select Partner Developer Org
4) Through AppExchange you can easily publish your First app after packaging it.
5) You will also have to go through Security Review before publishing the app. After the security review you can easily be able to view your package on AppExchange.
To get live on AppExchange just these steps are to be followed or you can also take the help of any experienced or existing Salesforce partner to get complete information abput listing your app on AppExchange. They can guide and help you throughout the procedure and to pass the Security review as well of Salesforce. A well known Salesforce partner is Janbask, who provide Salesforce implementation service and can provide you assistance and consultation as well. As they are Salesforce partner so know how to complete the process.
Apart from this you can try any Salesforce learning or training institute, if you are in your learning stage who can provide you complete detail and solution of your problem. You can easily Integrate Salesforce and be able to view your app on AppExchange.

Resources