• SMARTIE
  • 1964 Points
  • Member since 

  • Chatter
    Feed
  • 65
    Best Answers
  • 0
    Likes Received
  • 3
    Likes Given
  • 0
    Questions
  • 567
    Replies
Can anyone suggest on what are the possible ways to export or import bulk files from Source org to Destination Org apart from Data Loader. And, among them, what is the best way of doing it so.

Thanks in Advance!!
 
Hi Gurus,

So  the issue is that  i can only add 1 join table to Cases. 
 ex. Case Types but I want both CaseTypes and ERT Case Types joined to Cases so i can report on all at once

For cases I have 2 custom objects one is Case Types which is for Legacy case types  and for new case types i have another cusotm object called ERT Case types
  
  When i Go to Reports>>New Report>>Choose Report Type i see 2 objects 
  
 A) Case with Case Types and,
 B) Cases with ERT Case types
User-added image
 
 Now when i got Setup>>Report types and when i try to create a new Report type and select primary as Cases 
 then it looks like looks like i can only have 1 B joined to A and not 2 Bs as shown below
User-added image

I need a report type such that to join  both CaseTypes and ERT Case Types joined to Cases so i can report on all at once

Regards,
Carolyn
I'm currently in a Developer Sandbox trying to get the "External Services" to work. I have gone through the TrailHead and had it working with the resources I was supplied but once I try to use the actual API schema we need I get the error “Error encountered while saving External Registration. Please try again later.” which doesn't give me much to go off. I have tried raising the case with Salesforce and asking this question on other sites to no avail. https://salesforce.stackexchange.com/questions/309320/while-trying-to-use-the-external-sevices-i-get-the-error-error-encountered-whil?noredirect=1#comment463197_309320 (https://salesforce.stackexchange.com/questions/309320/while-trying-to-use-the-external-sevices-i-get-the-error-error-encountered-whil?noredirect=1#comment463197_309320)

Just to confirm I have created a "Named Credential" and added the corresponding domain to the "Remote Site Settings".

The Steps to reproduce the error are:

1) From Setup, enter Remote Site Settings in the Quick Find box, then select Remote Site Settings.
Click New Remote Site.
Remote Site Name, use FindAnApprenticeshipAPIURL.
Remote Site URL https://apis.apprenticeships.sfa.bis.gov.uk.

2) From Setup, enter Named Credentials in the Quick Find box, then select Named Credentials.
Click New Named Credential.
Label, use FindAnApprenticeshipNamedCred.
URL, use https://apis.apprenticeships.sfa.bis.gov.uk/manage-vacancies-sandbox/v1/apprenticeships.

3) From Setup, enter External Services in the Quick Find box, then select External Services.
Click Add an External Service.
External Service Name, use FindAnApprenticeshipExService.
Select a Named Credential, select FindAnApprenticeshipNamedCred.
Select Service Schema Complete JSON. Then paste the schema information from "https://developers.apprenticeships.education.gov.uk/docs/services/eebd1522767f4f1fbdfe51bd7010aa7e/export?DocumentFormat=Swagger":
{
"swagger": "2.0",
"info": {
"title": "Manage vacancies API (Sandbox)",
"version": "1.0",
"description": "Manage vacancies API (Sandbox)"
},
"host": "apis.apprenticeships.sfa.bis.gov.uk",
"basePath": "/manage-vacancies-sandbox",
"schemes": [
"https"
],
"securityDefinitions": {
"apiKeyHeader": {
"type": "apiKey",
"name": "Ocp-Apim-Subscription-Key",
"in": "header"
},
"apiKeyQuery": {
"type": "apiKey",
"name": "subscription-key",
"in": "query"
}
},
"security": [
{
"apiKeyHeader": []
},
{
"apiKeyQuery": []
}
],
"x-servers": [
{
"url": "https://apis.apprenticeships.sfa.bis.gov.uk"
},
{
"url": "https://apis.apprenticeships.education.gov.uk"
}
],
"paths": {
"/v1/apprenticeships": {
"post": {
"description": "The apprenticeship operation creates an apprenticeship vacancy using the specified values.\r\n\r\n#### Restricted values ####\r\n\r\nThese fields will only accept specific values as listed below:\r\n* ApplicationMethod\r\n - Online\r\n - Offline\r\n* LocationType\r\n - OtherLocation\r\n - EmployerLocation\r\n - Nationwide\r\n* DurationType\r\n - Weeks\r\n - Months\r\n - Years\r\n* WageType\r\n - CustomWageFixed\r\n - CustomWageRange\r\n - NationalMinimumWage\r\n - ApprenticeshipMinimumWage\r\n - Unwaged\r\n - CompetitiveSalary\r\n - ToBeSpecified\r\n* WageUnit\r\n - NotApplicable\r\n - Weekly\r\n - Monthly\r\n - Annually\r\n* TrainingType\r\n - Framework\r\n - Standard\r\n\r\n#### Validation rules ####\r\n\r\nWhen creating a vacancy the following rules must be considered. \r\n1. All values are required to be populated except in the following cases:\r\n\r\n* For all vacancies these values are optional\r\n - ContactName\r\n - ContactEmail\r\n - ContactNumber\r\n - ThingsToConsider\r\n\r\n* For an Online vacancy\r\n - SupplementaryQuestion1 and SupplementaryQuestion2 are optional\r\n - ExternalApplicationUrl and ExternalApplicationInstructions must be empty\r\n\r\n* For an Offline vacancy\r\n - ExternalApplicationInstructions is optional\r\n - SupplementaryQuestion1 and SupplementaryQuestion2 must be empty\r\n\r\n* When LocationType is EmployerLocation or Nationwide \r\n - Location is not required.\r\n\r\n* When LocationType is OtherLocation \r\n - Only Address1, Town and Postcode are required\r\n - All other address fields are optional\r\n\r\n* When WageType is CustomWageFixed\r\n - WageTypeReason must be empty\r\n - WageUnit must be a value other than NotApplicable\r\n - MinWage and MaxWage must be empty\r\n - FixedWage must be greater than or equal to the Apprenticeship minimum wage \r\n\r\n* When WageType is CustomWageRange\r\n - WageTypeReason must be empty\r\n - WageUnit must be a value other than NotApplicable\r\n - MinWage must be greater than or equal to the Apprenticeship minimum wage \r\n - MaxWage must be greater than MinWage\r\n - FixedWage must be empty\r\n\r\n* When WageType is NationalMinimumWage or ApprenticeshipMinimumWage\r\n - MinWage, MaxWage, FixedWage and WageTypeReason must be empty\r\n - WageUnit must be NotApplicable\r\n\r\n* When WageType is Unwaged, CompetitiveSalary or ToBeSpecified\r\n - FixedWage, MinWage and MaxWage must be empty\r\n - WageUnit must be NotApplicable\r\n\r\n* When TrainingType is Framework\r\n - TrainingCode should be in format ###-##-##\r\n\r\n* When TrainingType is Standard\r\n - TrainingCode should be a numeric value no greater than 9999\r\n\r\n* Text fields will take a maximum of 4,000 characters except for the following\r\n - Title = 100\r\n - ShortDescription = 350\r\n - ContactName = 100\r\n - ContactEmail = 100\r\n - AddressLine = 300\r\n - Town = 100\r\n - WageTypeReason = 240\r\n - WorkingWeek = 250\r\n\r\n* Additional rules\r\n - Title must include the word ***apprentice***\r\n - HoursPerWeek must be between 16 and 48 inclusive\r\n - ExpectedDuration must be a minimum of 1 year, 12 months or 52 weeks depending on the value of DurationType selected\r\n - NumberOfPositions must not exceed 5,000\r\n\r\n#### Error codes ####\r\n\r\nThe following error codes may be returned when calling this operation if any of the vacancy values \r\nspecified fail validation:\r\n\r\n| Error code | Explanation |\r\n| ----------- | ------------------------------------------- |\r\n| 31000 | Invalid Request body |\r\n| 31001 | Invalid Title |\r\n| 31002 | Invalid Short description |\r\n| 31003 | Invalid Long description |\r\n| 31004 | Invalid Application closing date |\r\n| 31005 | Invalid Expected start date |\r\n| 31006 | Invalid Working week |\r\n| 31007 | Invalid Hours per week |\r\n| 31008 | Invalid Wage type |\r\n| 31009 | Invalid Wage type reason |\r\n| 31010 | Invalid Wage unit |\r\n| 31011 | Invalid Fixed wage |\r\n| 31012 | Invalid Min wage |\r\n| 31013 | Invalid Max wage |\r\n| 31014 | Invalid Expected duration |\r\n| 31015 | Invalid Duration type |\r\n| 31016 | Invalid Location type |\r\n| 31017 | Invalid Location Address line 1 |\r\n| 31018 | Invalid Location Address line 2 |\r\n| 31019 | Invalid Location Address line 3 |\r\n| 31020 | Invalid Location Address line 4 |\r\n| 31021 | Invalid Location Address line 5 |\r\n| 31022 | Invalid Location Town |\r\n| 31023 | Invalid Location Postcode |\r\n| 31024 | Invalid Number of positions |\r\n| 31025 | Invalid Provider's Ukprn |\r\n| 31026 | Invalid Employer's Edsurn |\r\n| 31027 | Invalid Provider site's Edsurn |\r\n| 31028 | Invalid Contact Name |\r\n| 31029 | Invalid Contact Email |\r\n| 31030 | Invalid Contact Number |\r\n| 31031 | Invalid Training Type |\r\n| 31032 | Invalid Training Code |\r\n| 31033 | Invalid Desired skills |\r\n| 31034 | Invalid Desired personal qualities |\r\n| 31035 | Invalid Desired qualifications |\r\n| 31036 | Invalid Future prospects |\r\n| 31037 | Invalid Things to consider |\r\n| 31038 | Invalid Training to be provided |\r\n| 31039 | Invalid Application method |\r\n| 31040 | Invalid Supplementary question 1 |\r\n| 31041 | Invalid Supplementary question 2 |\r\n| 31042 | Invalid External application url |\r\n| 31043 | Invalid External Application Instructions |\r\n| 31044 | Invalid Is Employer Disability Confident |\r\n| 31045 | Invalid Location Additional Information |\r\n| 31046 | Invalid Employer Description |\r\n| 31047 | Invalid Employer Website Url |",
"operationId": "CreateApprenticeshipVacancy",
"summary": "CreateApprenticeshipVacancy",
"tags": [
"Apprenticeships"
],
"parameters": [
{
"name": "createApprenticeshipParameters",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateApprenticeshipParameters"
}
}
],
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/CreateApprenticeshipResponse"
}
},
"400": {
"description": "Failed request validation",
"schema": {
"$ref": "#/definitions/BadRequestContent"
}
},
"401": {
"description": "Invalid provider ukprn",
"schema": {
"$ref": "#/definitions/StringContent"
}
}
}
}
}
},
"definitions": {
"CreateApprenticeshipParameters": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"longDescription": {
"type": "string"
},
"desiredSkills": {
"type": "string"
},
"desiredPersonalQualities": {
"type": "string"
},
"desiredQualifications": {
"type": "string"
},
"futureProspects": {
"type": "string"
},
"thingsToConsider": {
"type": "string"
},
"trainingToBeProvided": {
"type": "string"
},
"applicationMethod": {
"enum": [
"Online",
"Offline"
],
"type": "string"
},
"supplementaryQuestion1": {
"type": "string"
},
"supplementaryQuestion2": {
"type": "string"
},
"externalApplicationUrl": {
"type": "string"
},
"externalApplicationInstructions": {
"type": "string"
},
"expectedDuration": {
"format": "int32",
"type": "integer"
},
"durationType": {
"enum": [
"Weeks",
"Months",
"Years"
],
"type": "string"
},
"applicationClosingDate": {
"format": "date-time",
"type": "string"
},
"expectedStartDate": {
"format": "date-time",
"type": "string"
},
"workingWeek": {
"type": "string"
},
"hoursPerWeek": {
"format": "double",
"type": "number"
},
"wageType": {
"enum": [
"CustomWageFixed",
"CustomWageRange",
"NationalMinimumWage",
"ApprenticeshipMinimumWage",
"Unwaged",
"CompetitiveSalary",
"ToBeSpecified"
],
"type": "string"
},
"wageTypeReason": {
"type": "string"
},
"wageUnit": {
"enum": [
"NotApplicable",
"Weekly",
"Monthly",
"Annually"
],
"type": "string"
},
"minWage": {
"format": "double",
"type": "number"
},
"maxWage": {
"format": "double",
"type": "number"
},
"fixedWage": {
"format": "double",
"type": "number"
},
"locationType": {
"enum": [
"OtherLocation",
"EmployerLocation",
"Nationwide"
],
"type": "string"
},
"location": {
"$ref": "#/definitions/Location"
},
"numberOfPositions": {
"format": "int32",
"type": "integer"
},
"employerEdsUrn": {
"format": "int32",
"type": "integer"
},
"providerSiteEdsUrn": {
"format": "int32",
"type": "integer"
},
"contactName": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactNumber": {
"type": "string"
},
"trainingType": {
"enum": [
"Framework",
"Standard"
],
"type": "string"
},
"trainingCode": {
"type": "string"
},
"isEmployerDisabilityConfident": {
"type": "boolean"
},
"employerWebsiteUrl": {
"type": "string"
},
"employerDescription": {
"type": "string"
}
}
},
"Location": {
"type": "object",
"properties": {
"addressLine1": {
"type": "string"
},
"addressLine2": {
"type": "string"
},
"addressLine3": {
"type": "string"
},
"addressLine4": {
"type": "string"
},
"addressLine5": {
"type": "string"
},
"postcode": {
"type": "string"
},
"town": {
"type": "string"
},
"additionalInformation": {
"type": "string"
}
}
},
"CreateApprenticeshipResponse": {
"type": "object",
"properties": {
"vacancyReferenceNumber": {
"format": "int32",
"type": "integer"
}
}
},
"BadRequestContent": {
"type": "object",
"properties": {
"requestErrors": {
"type": "array",
"items": {
"$ref": "#/definitions/BadRequestError"
}
}
}
},
"BadRequestError": {
"type": "object",
"properties": {
"errorCode": {
"type": "string"
},
"errorMessage": {
"type": "string"
}
}
},
"StringContent": {
"type": "object",
"properties": {
"headers": {
"type": "array",
"items": {
"$ref": "#/definitions/KeyValuePair[String,IEnumerable[String]]"
},
"readOnly": true
}
}
},
"KeyValuePair[String,IEnumerable[String]]": {
"type": "object",
"properties": {
"key": {
"type": "string",
"readOnly": true
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"readOnly": true
}
}
}
},
"tags": []
}
4) Press Save.

Then get the error "Error encountered while saving External Registration. Please try again later."
The Error I Get
Any help will be much-appreciated thankyou.
Hello, we want to have 2 lightning paths, representing 2 different picklists, on the same record type, on the same lightning page. We also want the button at the end of the path, so would need to use the "Lighting:path" component (and not the "Lighting:picklist" component, which seems does not have the button.) Is this possible to do? 
<apex:page id="page" >
    <apex:form id="fm">
        <script>
          function show(){
              var Name= document.getElementById("page:fm:pb:pbs:pbsi1:name").value;
              document.getElementById('page:fm:pb:pbs:pbsi2:myName').value=Name;
              document.getElementById('page:fm:pb:pbs:pbsi3:res').innerHTML='<b><i>'+Name+'<i><b>';
             }
              </script>
        <apex:pageBlock title="Employee" id="pb" >
            <apex:pageBlockSection id="pbs" columns="1">
                
                <apex:pageBlockSectionItem id="pbsi1">
                    <apex:outputLabel value="Enter Name"/>
                    <apex:inputText id="Name" onchange="Show()" />
                </apex:pageBlockSectionItem>
                
                <apex:pageBlockSectionItem id="pbsi2">
                    <apex:outputLabel value="Your name"/>
                    <apex:inputText id="myName" />
                </apex:pageBlockSectionItem>
                
                <apex:pageBlockSectionItem id="pbsi3">
                    <apex:outputLabel value="my name"/>
                    <apex:outputText id="res"/>
                </apex:pageBlockSectionItem>
                
                
            
                </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>
I am i need to write a Spark ETL which can be executed as part of nightly batch job such that the spark job pulls the data from Azure cloud env and then populates 2 custom objects in Salesforce? Maybe 20 fields total,is it possible?
We have seen this error since the upgrade which has then suddenly disappeared:
"System.CalloutException: You have uncommitted work pending. Please commit or rollback before calling out"
We recently had a contractor develop a simple API for us, who has since left and the endpoint has changed. I believe I have changed the endpoint where I need to. Is it possible to trigger the API via the dev console to test it? I was thinking using execute anonymous window. Would appreciate any help, as an admin! Thank you
Hello Experts,
    Can anyone guide me that where i can submit my blog in salesforce community?

Regards,
Thangamani
There was an unexpected error in your org which is preventing this assessment check from completing: System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_EXECUTE_FLOW_TRIGGER, We can't save this record because the “Opportunity Management” process failed. Give your Salesforce admin these details. This error occurred when the flow tried to create records: REQUIRED_FIELD_MISSING: Required fields are missing: [AccountId]. You can look up ExceptionCode values in the SOAP API Developer Guide. Error ID: 1977745768-229009 (1125517023): []
i am getting this error when i am doing BULK APEX TRIGGERS IN APEX TRIGGERS module plz help me
 
Does anyone know if this is possible, and if so, how to enable it? Right now it appears you can either select an avatar image for all agents, or you just get the letter of the agent's name.

Hi there!
I would like to know if it is possible to change the title of a custom object. Because when I open a record on one of my custom object I have something like that: "a0X2g000000HTa0 | Salesforce". The field that is used to display the custom object is "Preview URL Name" which is the standard default field and the primary key when you create a custom object.
I would like to change the title of the record using one of my custom field called "Title" but don't see any option on page layout and on Lightning Record.
Does anyone knows how to do that?
Best regards,

Hi, everybody!
This is the first time that I used Translation workbench and I'm trying to perform an import of Outdated and Unstranlated file. I'm trying to update one label of a field, but I'm not sure if this is possible. This is a screenshot of the file
User-added image
I have to translate English values to Spanish values.
Every time that I make the import I receive the next message
No data to import
I hope that somebody can help me
Thanks in advance!

 
Hi All,

Using SOQL query below which shows all field IDs for all custom fields.

Select Id, DeveloperName from CustomField

How can I limit this SOQL query to only show Field IDs for a specific object? for example to case object?

Thanks,

Dave the Rave

Hi
I'm getting this error message when trying to check the challenge inMap Your Workflow Criteria to Process Criteria
https://trailhead.salesforce.com/content/learn/modules/workflow_migration/workflow_migration_criteria
I created a new  DE but I'm getting the same error message once and again.
can you help me please?

thanks

There was an unexpected error while verifying this challenge. Usually this is due to some pre-existing configuration or code in the challenge Org. We recommend using a new Developer Edition (DE) to check this challenge. If you're using a new DE and seeing this error, please post to the developer forums and reference error id: OPBHDLAG

YOUR CHALLENGE
Create a process to replace two workflow rules
The stars have aligned, and you finally have the time and buy-in to convert some workflow rules to processes. You're converting two Opportunity workflow rules into one Opportunity process. The evaluation criteria for both of the workflow rules is "created or edited to subsequently meet criteria." Create a process and configure the appropriate settings in the Object node to match the workflow rules. Note: Don't work in the Criteria node yet. In the next unit, the hands-on challenge asks you to add criteria and actions to your process.
Process Name: Opportunity Management
Start the process when: a record changes
Object: Opportunity
The process must evaluate both created and edited records
Challenge not yet complete in joni@testlogin.com
There was an unexpected error while verifying this challenge. Usually this is due to some pre-existing configuration or code in the challenge Org. We recommend using a new Developer Edition (DE) to check this challenge. If you're using a new DE and seeing this error, please post to the developer forums and reference error id: OPBHDLAG

Hi All,

I have a scenario where I need to insert more than 100 PushTopics. As per Streaming API Governer limits, it allows only 100 PushTopics. Is it possible to increase this limit requesting to salesforce? If yes, what will be the maximum number? If not, is there any other way I can implement this scenario?

Thanks,
Mayur

Hi everyone,

I want to bring a dataset from Snowflake to Einstein.
I am admin in both systems.
Permissions seem valid on both ends, and the connection is successful.

However, when I try to bring tables from snowflake, I don't get the expected results.

Even more, I get different responses for trying to bring two different tables from the same db/schema in Snowflake.

I have two cases:


1. Case 1 -

I have a table in Snowflake with the following data types (number, varchar, timestamp).


When I want to create the dataset, the schema is visible, but only specific types of fields - Number(38,0) and timestamp_NTZ(9). Einstein doesn't pull the varchar type into the schema, even if I short it to 255 chars.

In this case, only a partial view of the table schema is visible. However, the data can be viewed in preview, and Einstein manages to pull the table (though partial).

2. Case 2

I try another table in the same schema and with identical permissions set.
I can see the entire Snowflake schema (including varchar) , but when I try to view the data in preview I get an error:

 

"
Application error

Can’t retrieve field values, but you can still edit the object settings.: Unable to get result data: Adapter read method has returned failure.The agent failed to read data from the source because of the following error: [SQL compilation error:

Object 'TEST__' does not exist or not authorized.]

Error in Job ID connector.4Vw_OF1WQqTP7ykCag6X_-:
"

The case 2 error suggests permission issues, but in case 1 I manage to pull the data without a permission error message.

 

I'm not even sure the two issues are connected.

Can someone help / Have ideas? 

Thanks

If we give test@gmaal.com while creating a lead, We need to update lead email as test@gmail.com.

I am using workflow rule with field update action.

NOTE:- WIthout using apex Coding 
お世話になります。
承認プロセスが回り切った後のレコード上でメモ&添付ファイルの新規追加/変更/削除ができないように制御したいのですが、方法はございますか?



関連Idea:Ability to prevent adding Notes & Attachments to a locked opportunity
https://trailblazer.salesforce.com/ideaView?id=08730000000BrJ3
恐れ入ります。

First error: SendEmail failed. First exception on row 0; first error: UNKNOWN_EXCEPTION, too many links to be tracked with more than 100: []    

という内容のエラーが発生しているのですが、こちらはSalesforceから送ろうとしているメールにリンクテキストが多すぎる(100を超える)ために発生しているのでしょうか?
I want to delete the "acquired accounts" listed but can't find it under object manager.  Any tips?

I am getting space storage full in my developer org.
Hi all, I am working on the Handle Server Error part in Trailhead as part of the Lightning Web Components and Salesforce Data Module

https://trailhead.salesforce.com/en/content/learn/modules/lightning-web-components-and-salesforce-data/handle-server-errors?trail_id=build-lightning-web-components

I am attempting to allow for error handling and write my code as follows

ContactList.js
import { LightningElement, wire } from 'lwc';
import {
    reduceErrors
} from 'c/ldsUtils';
import getContactList from '@salesforce/apex/ContactController.getContactList';

export default class ContactList extends LightningElement {
    @wire(getContactList) contacts;

    handleSelect(event) {
        // 1. Prevent default behavior of anchor tag click which is to navigate to the href url
        event.preventDefault();
        // 2. Create a custom event that bubbles. Read about event best practices at http://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.events_best_practices
        const selectEvent = new CustomEvent('contactselect', {
            detail: { contactId: event.currentTarget.dataset.contactId }
        });
        // 3. Fire the custom event
        this.dispatchEvent(selectEvent);
    }
    get errors() {
        return (this.accounts.error) ?
            reduceErrors(this.accounts.error) : [];
    }
}



contactList.html
<template>
    <template if:true={contacts.data}>
        <template if:true={errors}>
            <p>{errors}</p>
        </template>
        <template for:each={contacts.data} for:item="contact">
            <a
                href="#"
                key={contact.Id}
                data-contact-id={contact.Id}
                onclick={handleSelect}
            >
                <lightning-layout>
                    <lightning-layout-item>
                        <img src={contact.Picture__c} alt="Profile photo" />
                    </lightning-layout-item>
                    <lightning-layout-item padding="horizontal-small">
                        <p>{contact.Name}</p>
                    </lightning-layout-item>
                </lightning-layout>
            </a>
        </template>
    </template>
</template>

ContactController.cls
public with sharing class ContactController {
    @AuraEnabled(cacheable=true)
    public static List<Contact> getContactList() {
        throw new AuraHandledException('Forced error');
        /*return [
            SELECT Id, Name, Title, Phone, Email, Picture__c
            FROM Contact
            WHERE Picture__c != null
            WITH SECURITY_ENFORCED
            LIMIT 10
        ];*/
    }

    @AuraEnabled(cacheable=true)
    public static List<Contact> findContacts(String searchKey) {
        String key = '%' + searchKey + '%';
        return [
            SELECT Id, Name, Title, Phone, Email, Picture__c
            FROM Contact
            WHERE Name LIKE :key AND Picture__c != null
            WITH SECURITY_ENFORCED
            LIMIT 10
        ];
    }

    @AuraEnabled(cacheable=true)
    public static Contact getSingleContact() {
        return [
            SELECT Id, Name, Title, Phone, Email, Picture__c
            FROM Contact
            WITH SECURITY_ENFORCED
            LIMIT 1
        ];
    }
}




But I get this error We can’t find 'reduceErrors' imported into contactList.js. Any steps I need to take here.

 

Hi want to replace my image tag to ist alt text i have tried it by using regex but not able to do.

input:<img src="cid:ii_kc5z9dww0" alt="products.png" width="385" height="385">

Expected Output: products.png

Hi There,

I have a LWC pushed from CLI and when I am trying to add that to community pages it is not showning in the components list.

What would be the possible reasons. I have added isexposed to true in the meta.xml file too, also added required targets for community.

Thanks in advance
Pradeep 
Hello,
I have this Requirement
Make Call-out to SmartyStreets API –

SmartyStreets API is used to verify the address. In this milestone you need to consume https://smartystreets.com/products/apis/us-street-api

Requirement – The business ask is to verify the address of the event. Use the above API to verify the address & update “Location Verified” field on Event.

Must Have – Use of Error Handling and code re-usability

I tried with following code< but it showing 404 Error.
Could you please help how to come out from this Error And How i Upadate Field.
 
public class ApexHourIntigration {
    public static void verifyAddress(String Address){
        
        Http Http = new Http();
        HttpRequest Request = new HttpRequest();
        Request.setEndpoint('https://us-street.api.smartystreets.com/street-address?auth-id=6baff965-c2ed-eb53-7f43-e615db469a24&auth-token=pq7dRFqRoxtHiXKtCsOt'+ Address);
        Request.setMethod('GET');
        //Request.setHeader('contentType', 'application-json;charset=UTF-8');
        //Request.setBody('[{"candidates":10,"match":"invalid","street":"3901 SW 154th Ave","street2":"","city":"Davie","state":"FL","zipcode":"33331"}]');
        HttpResponse Response = Http.send(Request);
        
        if(Response.getStatusCode()!=200){
            system.debug(Response.getBody());
        }
        
        if(Response.getStatusCode()==200){
            Map<string,object> Results = (Map<string,object>) JSON.deserializeUntyped(Response.getBody());
            
            List<object> items = (List<object>) Results.get('items');
            for(object item :items){
                Map<string,object> components = (Map<string,object>)item;
                system.debug(components.get('components'));
           }
            try{
            	Event e = new Event();
                e.Location = 'Verified';
                update e;
           }
            catch(Exception e){
                system.debug('Error is :'+e.getMessage());
           }
        }
    }
}



 
Hi,
I stored all the editable fields in a variable and calling the variable in a dynamic SOQL query.
My Query: 
String fieldApiList = String.join(fieldsApiNames, ',');
        query = 'SELECT Name,'+ fieldApiList +' from EP_Service_License__c WHERE ID IN:recordIdSet';
        
        SelectedEpserviceRecords=Database.query(query);
Now, using a VF page I am displaying the fields and its values like as follows
User-added imagemy requirement is, if any field value is null or blank in the selected records or any field values is same in all the selected records then I should not display that field. 
For example, here in the picture, product license number is same for all the selected records and Copy Primary Prod Co License(s) field is null for all the selected records. Now, I should avoid displaying those two in the output. This should happen dynamically for all the fields.

Kindly help me on this
 
Vf Code- <apex:page standardController="Feedbacks__c" docType="html-5.0" extensions="FeedbackHelper"> <apex:pageBlock > <apex:pageBlockSection > <apex:form > <style> a { color: #337ab7; } p { margin-top: 1rem; } a:hover { color:#23527c; } a:visited { color: #8d75a3; } body { line-height: 1.5; font-family: sans-serif; word-wrap: break-word; overflow-wrap: break-word; color:black; margin:2em; } h1 { text-decoration: underline red; text-decoration-thickness: 3px; text-underline-offset: 6px; font-size: 220%; font-weight: bold; } h2 { font-weight: bold; color: #005A9C; font-size: 140%; text-transform: uppercase; } red { color: red; } #controls { display: flex; margin-top: 2rem; max-width: 28em; } button { flex-grow: 1; height: 3.5rem; min-width: 2rem; border: none; border-radius: 0.15rem; background: #ed341d; margin-left: 2px; box-shadow: inset 0 -0.15rem 0 rgba(0, 0, 0, 0.2); cursor: pointer; display: flex; justify-content: center; align-items: center; color:#ffffff; font-weight: bold; font-size: 1.5rem; } button:hover, button:focus { outline: none; background: #c72d1c; } button::-moz-focus-inner { border: 0; } button:active { box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2); line-height: 3rem; } button:disabled { pointer-events: none; background: lightgray; } button:first-child { margin-left: 0; } audio { display: block; width: 100%; margin-top: 0.2rem; } li { list-style: none; margin-bottom: 1rem; } #formats { margin-top: 0.5rem; font-size: 80%; } #recordingsList{ max-width: 28em; } </style> <script> URL = window.URL || window.webkitURL; var gumStream; //stream from getUserMedia() var rec; //Recorder.js object var input; //MediaStreamAudioSourceNode we'll be recording // shim for AudioContext when it's not avb. var AudioContext = window.AudioContext || window.webkitAudioContext; var audioContext //audio context to help us record var recordButton = document.getElementById("recordButton"); var stopButton = document.getElementById("stopButton"); var pauseButton = document.getElementById("pauseButton"); /* //add events to those 2 buttons recordButton.addEventListener("click", startRecording); stopButton.addEventListener("click", stopRecording); pauseButton.addEventListener("click", pauseRecording); */ function startRecording() { console.log("recordButton clicked"); /* Simple constraints object, for more advanced audio features see https://addpipe.com/blog/audio-constraints-getusermedia/ */ var constraints = { audio: true, video:false } /* Disable the record button until we get a success or fail from getUserMedia() */ /* recordButton.disabled = true; stopButton.disabled = false; pauseButton.disabled = false */ /* We're using the standard promise based getUserMedia() https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia */ navigator.mediaDevices.getUserMedia(constraints).then(function(stream) { console.log("getUserMedia() success, stream created, initializing Recorder.js ..."); /* create an audio context after getUserMedia is called sampleRate might change after getUserMedia is called, like it does on macOS when recording through AirPods the sampleRate defaults to the one set in your OS for your playback device */ audioContext = new AudioContext(); //update the format document.getElementById("formats").innerHTML="Format: 1 channel pcm @ "+audioContext.sampleRate/1000+"kHz" gumStream = stream; input = audioContext.createMediaStreamSource(stream); /* Create the Recorder object and configure to record mono sound (1 channel) Recording 2 channels will double the file size */ rec = new Recorder(input,{numChannels:1}) //start the recording process rec.record() console.log("Recording started"); }).catch(function(err) { //enable the record button if getUserMedia() fails recordButton.disabled = false; stopButton.disabled = true; pauseButton.disabled = true }); } function pauseRecording(){ console.log("pauseButton clicked rec.recording=",rec.recording ); if (rec.recording){ //pause rec.stop(); //pauseButton.innerHTML="Resume"; }else{ //resume rec.record() //pauseButton.innerHTML="Pause"; } } function stopRecording() { console.log("stopButton clicked"); //disable the stop button, enable the record too allow for new recordings /* stopButton.disabled = true; recordButton.disabled = false; pauseButton.disabled = true; */ //reset button just in case the recording is stopped while paused // pauseButton.innerHTML="Pause"; //tell the recorder to stop the recording rec.stop(); //stop microphone access gumStream.getAudioTracks()[0].stop(); //create the wav blob and pass it on to createDownloadLink rec.exportWAV(createDownloadLink); savingAudioFile(rec, rec.Name); } function createDownloadLink(blob) { console.log('===Blob====',blob); var recordId = '{!$CurrentPage.Parameters.Id}'; console.log('===RecordId==='+recordId); FeedbackHelper.uploadFile(recordId,blob,function(result,event){ if(event.status){ console.log(result); } }); var url = URL.createObjectURL(blob); var au = document.createElement('audio'); var li = document.createElement('li'); var link = document.createElement('a'); //name of .wav file to use during upload and download (without extendion) var filename = new Date().toISOString(); //add controls to the <audio> element au.controls = true; au.src = url; //save to disk link link.href = url; link.download = filename+".wav"; //download forces the browser to donwload the file using the filename //link.innerHTML = "Save to disk"; //add the new audio element to li li.appendChild(au); //add the filename to the li li.appendChild(document.createTextNode(filename+".wav ")) //add the save to disk link to li li.appendChild(link); //upload link var upload = document.createElement('a'); upload.href="#"; // upload.innerHTML = "Upload"; upload.addEventListener("click", function(event){ var xhr=new XMLHttpRequest(); xhr.onload=function(e) { if(this.readyState === 4) { console.log("Server returned: ",e.target.responseText); } }; var fd=new FormData(); fd.append("audio_data",blob, filename); xhr.open("POST","upload.php",true); xhr.send(fd); }) li.appendChild(document.createTextNode (" "))//add a space in between li.appendChild(upload)//add the upload link to li //add the li element to the ol recordingsList.appendChild(li); } </script> <html> <head> <title>Simple Recorder.js demo with record, stop and pause - addpipe.com</title> <!-- Latest compiled and minified Bootstrap CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"/> <link rel="stylesheet" type="text/css" href="style.css"/> </head> <body> <div id="controls"> <input id="recordButton" type="button" value="Recorder" onclick="startRecording();"/> <input id="pauseButton" type="button" value="Pause" onclick="pauseRecording();"/> <input id="stopButton" type="button" value="Stop" onclick="stopRecording();"/> </div> <div id="formats">Format: start recording to see sample rate</div> <p><strong>Recordings:</strong></p> <ol id="recordingsList"></ol> <!-- inserting these scripts at the end to be able to use all the elements in the DOM --> <script src="https://cdn.rawgit.com/mattdiamond/Recorderjs/08e7abd9/dist/recorder.js"></script> <script src="js/app.js"></script> </body> </html> </apex:form> </apex:pageBlockSection> </apex:pageBlock> </apex:page>

apex- global class FeedbackHelper {
    public FeedbackHelper(ApexPages.StandardController controller){        
    }
    @remoteaction
    global static void uploadFile(string recordId,string rec){
        system.debug('====='+rec);
        Attachment myattach = new Attachment(ParentId = recordId, Name = 'test.wav', Body = Blob.valueOf('' + rec), ContentType = 'audio/wav');
        insert myattach;
    }
    public PageReference savingAudioFile(Object rec, String recName){
        Feedbacks__c feed = new Feedbacks__c();
        insert feed;
        Attachment myattach = new Attachment(ParentId = feed.id, Name = recName+'.wav', Body = Blob.valueOf('' + rec), ContentType = 'audio/wav');
        insert myattach;
        system.debug('Attachmetn :: ' + myattach.name);
        return null;
    }
    public pageReference file(string fileLink){
        PageReference pr = new PageReference(fileLink);
        pr.setRedirect(true);
        return pr;
    }
}
I have created a flow and added a logo image in the display text component of the flow. This flow is added on a community and using Embedded Services the community is embedded on an external Site. 

Issue is Guest users are not able to view the Logo image and it shows broken. I researched on the issue and found out that image added in a flow is saved as chatter file in Salesforce. Chatter file does not have any option to give access to Guest user. 

I also tried a workaround. I added the logo image as a Static resource and reference the static resource from the flow. It works fine when I run the flow but when I activate the flow and check on the external website the flow gives an error "Error element StaticResource (FlowRecordLookup).
This error occurred when the flow tried to look up records: sObject type 'StaticResource' is not supported.. You can look up ExceptionCode values in the SOAP API Developer Guide (https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.salesforce.com%2Fdocs%2Fatlas.en-us.api.meta%2Fapi%2Fsforce_api_calls_concepts_core_data_objects.htm%23&data=02%7C01%7Cvikrant.panchmukhe%40volvocars.com%7Cc1c68ed287c44113df6308d81e512be8%7C81fa766ea34948678bf4ab35e250a08f%7C0%7C0%7C637292681261554579&sdata=A%2B76kq63UEnJbHrQUL%2B3E7%2BPDHN9c2P2k%2BaRxDgfoqI%3D&reserved=0" originalsrc="https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#" shash="M6huuBxsF0jyxjxWD7h9CUPEPZztP4y5zdEpJo6982dwWU7LBLlkzYzhrWJDYI8LUa+4xS87nkO0cOqaRhhc+eN4BvOdAizsuhwesu3HzCEmPI3/RUi005Erea3EiGFlTisFyQbtJtxh4KEipjy7Ftlo9n6JlBpBf1dHqtAZn9s=" style="color:blue; text-decoration:underline)." 
Any help will be greatly appreciated
  • July 02, 2020
  • Like
  • 0
The steps I have followed
        Go to Analytic Studio -> Create Dashboard -> Select Chart-> Go to Salesforce Direct and Select the object BotEventLog
 
       i. "The Count function is not supported" - This error message is coming.
      ii.  Whenever I am trying to access the count() of the object BotEventLog from Workbench . A fatal error is occurring.
 
         A fatal error occurred. Contact your administrator and provide the following error id:
                                    [future_get-9-1593668993]
 
 
         2.  I have tried to make a Data Flow on BotEventLog object in the DataManager in Analytic Studio . But whenever I am running the                         dataflow , I am facing an error.
 
              
               Something went wrong while executing the Sync_BotEventLog node: MALFORMED_QUERY: ;Id > '0U7000000000000' ORDER BY Id ASC LIMIT 1 OFFSET                       249999; ^;ERROR at Row:1:Column:66;field 'Id' can not be sorted in a query call (02K4T000000YXqmUAG_03C4T000001AaTwUAK)
 
Hi,

can it be possible to save / insert data from dataset from einstein analytics to custom objects in salesforce.

For example I have created an dataset from object of salesforce and perform something on data and now updated dataset, I want to save / insert records to custom salesforce object or any other object. 

it this possible ?
 
Hello Salesforce experts and users.

I would like to get fields' metadata (each field's label, qualified api name, description, and default value).

As far as I find out, I think there are two ways to do that.

1. Use SOQL (querying FieldDefinition)
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm
 
2. ​​​​​​​Use REST API (SObject describe())
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_describe.htm

I have tried to use these and have a problem for each methods.

The problem for SOQL is that i haven't figured out how to retrieve default value.  The SOQL queries I used are below
 
Select Label, QualifiedApiName, Description from FieldDefinition where EntityDefinition.QualifiedApiName = 'Account'; -- works fine

Select Label, QualifiedApiName, Description, defaultValue__c from FieldDefinition where EntityDefinition.QualifiedApiName = 'Account'; -- not works

And the problem for REST API is that it seems it doesn't return description in its response.
I used Python library called simple-salesforce for making an describe() API call.
https://github.com/simple-salesforce/simple-salesforce


Using both ways and combined these response would be one of the solution, but I feel it is redundant and want to avoid using it.
That is why I ask for help in this forum.

Any advice, or tips is much appreciated.

Thank you
Hi,

I have a flow with several elements that use the Display Text screen component to pair text with an image that I have inserted.

When I look at these Flows in my org, I see the images properly displayed. When I log in to my Salesforce community, I see them as well; however, when a user with our community profile logs in, they do not see the images.

Is there a permission required for these images to display to a community user?

Here is an example of what I see:
User-added image
Here is what someone with the community profile sees:

User-added image
Hi everyone,

Is there a way to make only one Contact record type be displayed in the Lead Conversion (when I have two)? I have one as default record type but users are able to choose any and we don't want that.

Would appreciate your help!
 
I'm trying to embed the Service Appointment Management Snap-in into a Community, and I get the following error when I try to launch it:
User-added image

The result is the modal window displaying with the message "Try reloading the page or try again later."

I have followed the instructions here:
  • https://help.salesforce.com/articleView?id=embedded_services_appointment_home.htm&type=5
  • https://help.salesforce.com/articleView?id=rss_snapins_appointment_management.htm&type=5
The logged in user has the FSL Self Service Permission Set.

I've added the "Embedded Service Appointment Management" component to a community page that has no other components on it. The component has the "Embedded Service Appointment" set to a seemingly valid deployment configuration, setup as per the instructions referenced above.

The community is using a Customer Service template, and the Chat component has not been added.

I've set up a 'Default for FSL Snap-ins' for both:
  • Scheduling Policy
  • Operating Hours
I've also configured the community by:
  • Switched Clickjack protection to allow framing by any page
  • Adding https://service.force.com as a trusted site for scripts
  • Setting CSP to "Allow Inline Scripts and Script Access to Whitelisted Third-party Hosts"
In standard Salesforce Setup I have:
  • Added https://service.force.com the the list of CSP Trusted Sites in 'All' contexts
I feel like I've exhausted everything.

Has anyone ever managed to get this snap-in working? Can you think of anything I may have missed?
Hi...

I'm creating a Lightning component and use the Cytospace javascript library from https://cytoscape.org/
 
<ltng:require scripts="{!join(',', 
                $Resource.cytoscape + '/cytoscape.min.js', 
                $Resource.cytoscape + '/cytoscape.cjs.js')}"
                afterScriptsLoaded="{!c.setup}"/>

I got the following error: Custom Script Eval error in 'ltng:require' [SecureDOMEvent: [object Event] {key: {namespace":"c"}}]

I just follow the SF documentation at https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/js_libs_platform.htm

How could I validate if the Cytospace library can be used or not in Salesforce?

Thanks