Slack Record Owner Salesforce Flow - salesforce

Is there a way with the native Slack Salesforce integration to slack individual users?
From what I can tell you would have to have individual users added via the slack setup in Salesforce, then create a CTMD for each user, then call that CMTD in a flow to determine the correct destination ID. This would be fine if you only have like 5-10 users, but what about an org with 500?!

The solution I found was to:
Under the slack integration set the "Message Destination Name" as the user's full name that you are adding
In your flow call the slack destination object where Name = record owner name (or whatever lookup you want to use)
From the Message Destination object save the ID as var (I just find this easier)
Then in your slack action use the var and record ID

Related

Sending DocuSign PowerForm from Salesforce Account object

I have a Powerform that people sign online. I want users to be able to send that same Powerform from SFDC account object. How do I pass account id to the Powerform. I have added merge field, but it is throwing error saying subject doesn't exist.
Using the PowerForm URL, you can set tab values in the document and meta-data (Envelope Custom Fields) in the envelope.
Example: You have a tab in the template's document with the data name "accountID". The role name for the signer is signer.
Set the tab to be locked. This prevents any of the signers from changing it. (Makes it read-only.)
Create a PowerForm from the template. Receive back the PowerForm URL.
Example: https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=8883&env=demo&acct=7a9312b8&v=2
Program Salesforce to send the PowerForm with the accountID set to "123":
Example: https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=8883&env=demo&acct=7a9312b8&v=2&signer_UserName=Larry%20Kluger&signer_Email=larry.kluger#example.com&signer_accountID=123
In step 3, you are programming Salesforce to dynamically create a URL that includes data from the current Account object. If you don't know how to do that, ask a new question in the Salesforce stackOverflow channel.
More information
See the Programming PowerForms video.
This previous question seems similar:
Can we use merge fields(populate data from SFDC) using DocuSign Powerforms?
Does that help?

Is this possible to create a private report filtering in Data Studio embeded report

I created a report in DataStudio and embedded it on my website. I activated the option "anyone with the link can view" so this report will be visible to my website users.
But I need to show my website users different data depending on their user ids and more important I don't want users would be able to see other users' data so if I used URL filtering users would be able to breach and search another user id to see his data.
Does anyone have a solution for this scenario?
In Google documentation I saw an option to limit the report to users in my domain, I assume this will solve this issue, but I don't find how to restrict other domains.
Users are logged onto Google
If users of your website are already logged onto Google, use the Filter by email address guide from Data Studio help center. This requires you to setup FILTER BY EMAIL and then have a field in your data can be directly used as an email filter.
Users are not logged on to Google
If you want a solution where the users don't have to be logged onto Google, you will need to:
Create a Community Connector to pass the filtered data to your users. The connector should accept a short lived token as part of the config.
Create a dashboard with your connector and pass unique short-lived tokens for each user.
You should have an endpoint that returns the current user's data based on the token provided. Alternatively, the endpoint can return only the user's identify and you can query a secondary data source with a service account filtering for the user's identity.
Your connector should call your endpoint to fetch data only for the user/for the user's identity.
This official guide demonstrates how to implement this in more details.
Disclaimer: I work in the Data Studio team and wrote the above guide.
First option is to add extra 2 fields to your data source.
User_ID
Password
For example:
Data, User_ID, Password
$10,Daniel,123
$20,Alex,456
In your dashboard, you need to create two parameters:
User_ID_Parameter
Password_Parameter
Both parameters can set the default value to null, and accepts any values.
Then create a new calculated field:
CASE
WHEN REGEXP_MATCH(User_ID,USER_ID_Parameter) AND REGEXP_MATCH(Password,Password_Parameter) THEN 1
ELSE 0
END
Then create a new filter to the chart that you want to hide:
To include the above calculated field Equal to 1
Second option is to use the Data Studio default Row Level Security
The only caveat is the users need to sign in before they can view the report.

Why user doesn't finds his data available when user goes to Physical store after placing Online details from App to Salesforce.com

I have a mobile app(not a salesforce app) which is connected to Salesforce.com and salesforce.com talks to an external website(fulfillment portal) using HTTP REST Request and Response method call out ,now problem is whenever user who wishes to buy a new phone enters his/her details like name,phone model name and his phone number from app and visits physical store outlet,the store representative unable to search the customer data in fulfillment portal..So the store has to manually re-enter customer details.
Integration apex class has been exposed as a WebService
public class HttpIntegration{
public String getCalloutResponseContents(String url){
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint(url);
req.setMethod('GET');
HttpResponse res = h.send(req);
return res.getBody();
}
}
While manually testing from Salesforce ,we get a success response from external website(fulfillment portal) and Trigger is also created at Salesforce end to update the Token id at the Order custom object ,but still when the customer goes to store he is unable to find his details,What can be the possible solution to fix this
Carolyn, there are few questions to ask that may help you locate the issue:
Are you sure the users in the store have access to the records being created by the API?
What is the org-wide default for the custom Order object in Sharing Settings?
Based on your comment, the OWD is set to private. You have a few options, and the solution will depend on your security needs:
If you only want that information exposed to reps in the store, you can create a sharing rule that shares those records with users who have a specific role or users in a specific public group.
If you are not concerned about letting all internal users access that information, you can change the OWD to whatever access is needed by the store reps.
If the users in the store all share a profile or permission set, you can grant them "View All" access on the custom object.

Is it possible to update/delete User by externalId

We are trying to develop a SCIM enabled Provisioning system for provisioning data from an Enterprise Cloud Subscriber(ECS) to Salesforce(Cloud Service Provider-CSP). We are following SCIM 1.1 standard.
What are we able to do:
We are able to perform CRUD operations on User object using Salesforce auto-generated userId field
Exact Problem:
We are not able to update/delete User object using externalId provided by ECS.
Tried something as below... But it is not working, Unknown_Exception is thrown...
XXX/my.salesforce.com/services/scim/v1/Users/701984?fields=externalId
Please note that it is not possible to store Salesforce userId in ECS's database due to some compliance reasons. So we have to completely depend upon externalId only.
Possible Workaround:
Step1: Read the userId based on externalId from Salesforce
Step2: Update the User object using the salesforce UserId obtained in Step1.
But this two step process would definitely degrade the performance.
Is there any way to update/delete the User by externalId
Could you please guide us on this..
Thanks so much....
I realize this is old thread but wanted to note that you CAN update Users from REST using an external ID. The endpoint in above question is incorrect. Following is how it should be set, send as a PATCH request:
[instance]/services/data/v37.0/sobjects/user/[external_id__c]/[external id value]
Instance = your instance i.e. https://test.salesforce.com/
external_id__c = API name of your custom external Id field on User
external id value = whatever the value of the user's external Id
NOTES:
Salesforce responds with an HTTP 204 status code with No Content in the body, this isn't usual for patch requests, but it is 'success' response
The external id on user has to be a custom field, make sure it is set
as UNIQUE
Ensure the profile/permission set of the user that is making the call
has the Manage Users permission & has access to the external id field
It is pretty common pattern for other applications, too, to search first and then perform on update on the returned object. Your workaround seems fine to me. What performance problem are you concerned about? Are you concerned about Salesforce not being able to process more requests or are you concerned about the higher response time in your application because you need to make multiple requests? Have you actually measured how much an extra call costs?

Writeback to Salesforce using Powerforms

I am using Powerforms as an approach to get signatures using the DocuSign. What I want is to send some part of the data back to Salesforce from the PDF while the user signs it. I created custom fields on the PDF, related them to Salesforce, checked the writeback and allow sender to edit boxes but the data hasn't got back to SF yet. Any help?
When you send from Salesforce, there is information passed to document (such as the SourceID and Source Object Type), that DocuSign Connect will attempt to match to a record to process a request to push the data back into Salesforce.
If you are using a PowerForm, you would have to pass along similiar data and setup DocuSign Connect correctly for it to relate the data back to a Salesforce record.
This is something that is doable with customization, but not functional out of the box.

Resources