+ Start a Discussion
Rachel ThibodauxRachel Thibodaux 
We have a custom object called Volunteer Hours. We created a rule the following criteria
(Volunteer Hours: Start DateLESS THANYESTERDAY) AND (Volunteer Hours: Clock InEQUALSnull)

The Workflow Action is a Field Update to change the Status of the Volunteer Hours to No Show if there was not a Clock In date & time, as this means the volunteer did not show up for the shift. We want it firing for all Volunteer Objects with a start date of yesterday or before.
User-added imageThis is the Field Update information. Anyone have an idea why it's not working?
Best Answer chosen by Rachel Thibodaux
Rachel ThibodauxRachel Thibodaux
Figured it out! The Evaluation Criteria needed to be changed.
lalit kumar 11lalit kumar 11 
I am trying to maintain my PD I certification since a few days but i am getting the below error on checking challenge "Challenge not yet complete in Certification Org There was an issue processing your verification. Please refresh the page and try again."
Today is the last day of maintaining certification else it will be expired.
Please help.
Best Answer chosen by lalit kumar 11
Khan AnasKhan Anas (Salesforce Developers) 
Hi Lalit,

Greetings to you!

I suggest you please use a new Developer Org / Trailhead Playground for validating the challenge. If the problem persists, log out of all accounts and log in once again in a different browser by clearing the cache and cookies which should probably do the trick.

Still, if the problem persists I would suggest you please reach out to trailhead support team for better and quick assistance on the above issue.

Please refer below link to open a case:
https://trailhead.salesforce.com/help?support=home

I hope it helps you.

Kindly mark this as solved if the information was helpful. It will help to keep this community clean.

Thanks and regards,
Khan Anas
Salesforce5566Salesforce5566 
rigger SameEmailOnAllContacts on Account (after update) {
    Set<Id> setAccountId = new Set<Id>();
    for(Account acc:trigger.new) 
    {
        if(Trigger.oldMap.get(acc.ID).Email__c != acc.Email__c || Trigger.oldMap.get(acc.ID).phone != acc.phone) {
            setAccountId.add(acc.id);
        }
    }
    List<Contact> lstContact = new List<Contact>();
    
    for(Account acc:[Select id,Email__c,(select id,Email from Contacts) from Account where Id in:setAccountId])
    {
        for(Contact con:acc.contacts)
        {  
            if(con.Email != acc.Email__c) 
            {
                con.Email = acc.Email__c;
                lstContact.add(con);
            }
        }
    }
    if(lstContact.size() >0) {
        update lstContact;
    }
}

Please help me on this !!!!

 
@isTest
public class SameEmailOnAllContactsTest{
 public static testMethod void Test()
 {
 
 Account acct=new Account();
        acct.name='a';
        acct.industry='Electronics';   
        insert acct;
        
         Contact ct = new Contact();
         
         ct.LastName ='Hoal';
         
          insert ct;
 
 }
 }

 
Best Answer chosen by Salesforce5566
Khan AnasKhan Anas (Salesforce Developers) 
Hi,

Greetings to you!

Please try the below code, I have tested in my org and it is working fine. Kindly modify the code as per your requirement.
 
@isTest
public class SameEmailOnAllContactsTest {
    
    public static testMethod void Test() {
        
        Account acct = new Account();
        acct.Name = 'Test Acc';
        acct.Phone = '1234';
        acct.Email__c = 'acct1@test.com';
        INSERT acct;
        
        Contact ct = new Contact();
        ct.AccountId = acct.Id;
        ct.LastName = 'Test Con';
        ct.Email = 'ct@test.com';
        INSERT ct;
        
        Test.StartTest(); 
        acct.Name ='Test Acc 1';
        acct.Email__c = 'acct2@test.com';
        UPDATE acct;
        Test.StopTest();
    }
}

I hope it helps you.

Kindly let me know if it helps you and close your query by marking it as solved so that it can help others in the future. It will help to keep this community clean.

Thanks and Regards,
Khan Anas
farukh shaikhfarukh shaikh 
Can someone please help me out here , I want the get the verification_status from the below response.I am not able to understand the approach.

[ { "address1":"Rua Padre Antônio D'ângelo 121", "address2":"Casa Verde", "address3":"02516-040 São Paulo SP", "components":{ "administrative_area":"SP", "dependent_locality":"Casa Verde", "country_iso_3":"BRA", "locality":"São Paulo", "postal_code":"02516-040", "postal_code_short":"02516-040", "premise":"121", "premise_number":"121", "thoroughfare":"Rua Padre Antônio D'ângelo", "thoroughfare_name":"Padre Antonio D'angelo", "thoroughfare_type":"Rua" }, "metadata":{ "latitude":-23.50948, "longitude":-46.66073, "geocode_precision":"Premise" }, "analysis":{ "verification_status":"Verified", "address_precision":"Premise" } } ]
Best Answer chosen by farukh shaikh
Sunil RathoreSunil Rathore

Hi Farukh,

It is always a good practice creating wrapper class to parse such complex JSON response. Please refer the below class which you can use in response parsing.
 

public class ParserDemo {

    public String address1;
	public String address2;
	public String address3;
	public ComponentsWrapper objComponents;
	public MetadataWrapper objMetaData;
	public AnalysisWrapper objAnalysis;

    public class ComponentsWrapper() {
		public String administrative_area;
		public String dependent_locality;
		public String country_iso_3;
		public String locality;
		public String postal_code;
		public String postal_code_short;
		public String premise;
		public String premise_number;
		public String thoroughfare;
		public String thoroughfare_name;
		public String thoroughfare_type;
	}
	
	public class MetadataWrapper() {
		public Integer latitude;
		public Integer longitude;
		public Integer geocode_precision;
	}
	public class AnalysisWrapper() {
		public String verification_status;
		public String address_precision;		
	}

 }
which you can use for deserializing as:
ParserDemo demoResponse = (ParserDemo)System.JSON.deserialize(your response, ParserDemo.class)
Now you can get verification_status as:
demoResponse.objAnalysis.verification_status
Hope this will help you. If yes, then mark it as best answer so that it can help others also.

Many Thanks,
Sunil Rathore  
azar khasimazar khasim 
I just want a Controller Class for the Below Visualforce Page.
Please Help me in it.

Here below is my VF Page.


<apex:page controller="Booking_Link__c">
    <apex:form >
        <apex:sectionHeader title="Person Customer Edit" subtitle="New Customer"/>
        <apex:pageBlock >
            <apex:pageBlockButtons >
                <apex:commandButton action="{!save}" value="Save"/>
                <apex:commandButton action="{!cancel}" value="cancel"/>
            </apex:pageBlockButtons>
            <apex:pageBlockSection title="Customer Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking link__c.Name}"/>
                <apex:inputField value="{!booking link__c.Salutation__c}"/>
                <apex:inputField value="{!booking link__c.First_Name__c}"/>
                <apex:inputField value="{!booking link__c.Middle_Name__c}"/>
                <apex:inputField value="{!booking link__c.Last_Name__c}"/>
                <apex:inputField value="{!booking link__c.Gender__c}"/>
                <apex:inputField value="{!booking link__c.Relation__c}"/>
                <apex:inputField value="{!booking link__c.Father_Husband__c}"/>
                <apex:inputField value="{!booking link__c.    Pan_Number__c}"/>
                <apex:inputField value="{!booking link__c.    Aadhar_Number__c}"/>
                <apex:inputField value="{!booking link__c.Date_Of_Birth__c}"/>
                <apex:inputField value="{!booking link__c.Wedding_Anniversary__c}"/>
                <apex:inputField value="{!booking link__c.Mobile__c}"/>
                <apex:inputField value="{!booking link__c.Alternate_Mobile__c}"/>
                <apex:inputField value="{!booking link__c.Phone__c}"/>
                <apex:inputField value="{!booking link__c.Other_Phone__c}"/>
                <apex:inputField value="{!booking link__c.Home_Phone__c}"/>
                <apex:inputField value="{!booking link__c.Email__c}"/>  
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Professional Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking link__c.Profession__c}"/>
                <apex:inputField value="{!booking link__c.Designation__c}"/>
                <apex:inputField value="{!booking link__c.Professional_Email__c}"/>
                <apex:inputField value="{!booking link__c.Annual_Income__c}"/>
                <apex:inputField value="{!booking link__c.CompanyMobile__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Office Address" collapsible="false" columns="2">
                <apex:inputField value="{!booking link__c.Employed_by__c}"/>
                <apex:inputField value="{!booking link__c.OfficeStreet__c}"/>
                <apex:inputField value="{!booking link__c.OfficeCity__c}"/>
                <apex:inputField value="{!booking link__c.OfficeState__c}"/>
                <apex:inputField value="{!booking link__c.OfficeCountry__c}"/>
                <apex:inputField value="{!booking link__c.OfficePinCode__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Children School Address" collapsible="false" columns="2">
                <apex:inputField value="{!booking link__c.School_Name__c}"/>
                <apex:inputField value="{!booking link__c.SchoolStreet__c}"/>
                <apex:inputField value="{!booking link__c.SchoolCity__c}"/>
                <apex:inputField value="{!booking link__c.SchoolState__c}"/>
                <apex:inputField value="{!booking link__c.SchoolCountry__c}"/>
                <apex:inputField value="{!booking link__c.SchoolPinCode__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Address Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking link__c.BillingCountry__c}"/>
                <apex:inputField value="{!booking link__c.ShippingCountry__c}"/>
                <apex:inputField value="{!booking link__c.BillingStreet__c}"/>
                <apex:inputField value="{!booking link__c.ShippingStreet__c}"/>
                <apex:inputField value="{!booking link__c.BillingCity__c}"/>
                <apex:inputField value="{!booking link__c.ShippingCity__c}"/>
                <apex:inputField value="{!booking link__c.BillingState__c}"/>
                <apex:inputField value="{!booking link__c.ShippingState__c}"/>
                <apex:inputField value="{!booking link__c.BillingPinCode__c}"/>
                <apex:inputField value="{!booking link__c.ShippingPinCode__c}"/>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>
Best Answer chosen by azar khasim
Khan AnasKhan Anas (Salesforce Developers) 
Hi Azar,

Greetings to you!

Please change the controller name from Booking_Link__c, don't use object name as a controller name. As Sunil suggested, use a different property name in visualforce page instead of booking_Link__c

Please try the below code, I have tested in my org and it is working fine. Kindly modify the code as per your requirement.

Visualforce:
<apex:page controller="BookingController">
    <apex:form >
        <apex:sectionHeader title="Person Customer Edit" subtitle="New Customer"/>
        <apex:pageBlock >
            <apex:pageBlockButtons >
                <apex:commandButton action="{!save}" value="Save"/>
                <apex:commandButton action="{!cancel}" value="cancel"/>
            </apex:pageBlockButtons>
            <apex:pageBlockSection title="Customer Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking.Name}"/>
                <apex:inputField value="{!booking.Salutation__c}"/>
                <apex:inputField value="{!booking.First_Name__c}"/>
                <apex:inputField value="{!booking.Middle_Name__c}"/>
                <apex:inputField value="{!booking.Last_Name__c}"/>
                <apex:inputField value="{!booking.Gender__c}"/>
                <apex:inputField value="{!booking.Relation__c}"/>
                <apex:inputField value="{!booking.Father_Husband__c}"/>
                <apex:inputField value="{!booking.Pan_Number__c}"/>
                <apex:inputField value="{!booking.Aadhar_Number__c}"/>
                <apex:inputField value="{!booking.Date_Of_Birth__c}"/>
                <apex:inputField value="{!booking.Wedding_Anniversary__c}"/>
                <apex:inputField value="{!booking.Mobile__c}"/>
                <apex:inputField value="{!booking.Alternate_Mobile__c}"/>
                <apex:inputField value="{!booking.Phone__c}"/>
                <apex:inputField value="{!booking.Other_Phone__c}"/>
                <apex:inputField value="{!booking.Home_Phone__c}"/>
                <apex:inputField value="{!booking.Email__c}"/>  
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Professional Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking.Profession__c}"/>
                <apex:inputField value="{!booking.Designation__c}"/>
                <apex:inputField value="{!booking.Professional_Email__c}"/>
                <apex:inputField value="{!booking.Annual_Income__c}"/>
                <apex:inputField value="{!booking.CompanyMobile__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Office Address" collapsible="false" columns="2">
                <apex:inputField value="{!booking.Employed_by__c}"/>
                <apex:inputField value="{!booking.OfficeStreet__c}"/>
                <apex:inputField value="{!booking.OfficeCity__c}"/>
                <apex:inputField value="{!booking.OfficeState__c}"/>
                <apex:inputField value="{!booking.OfficeCountry__c}"/>
                <apex:inputField value="{!booking.OfficePinCode__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Children School Address" collapsible="false" columns="2">
                <apex:inputField value="{!booking.School_Name__c}"/>
                <apex:inputField value="{!booking.SchoolStreet__c}"/>
                <apex:inputField value="{!booking.SchoolCity__c}"/>
                <apex:inputField value="{!booking.SchoolState__c}"/>
                <apex:inputField value="{!booking.SchoolCountry__c}"/>
                <apex:inputField value="{!booking.SchoolPinCode__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Address Information" collapsible="false" columns="2">
                <apex:inputField value="{!booking.BillingCountry__c}"/>
                <apex:inputField value="{!booking.ShippingCountry__c}"/>
                <apex:inputField value="{!booking.BillingStreet__c}"/>
                <apex:inputField value="{!booking.ShippingStreet__c}"/>
                <apex:inputField value="{!booking.BillingCity__c}"/>
                <apex:inputField value="{!booking.ShippingCity__c}"/>
                <apex:inputField value="{!booking.BillingState__c}"/>
                <apex:inputField value="{!booking.ShippingState__c}"/>
                <apex:inputField value="{!booking.BillingPinCode__c}"/>
                <apex:inputField value="{!booking.ShippingPinCode__c}"/>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

Controller:
public class BookingController {
    
    public Booking_Link__c booking {get;set;}
    
    public BookingController(){
        booking = new Booking_Link__c();
    }
    
    public PageReference save(){
        try {  
            INSERT booking;
        }
        catch (Exception e) {
            ApexPages.addMessages (e);
            return null;
        }
        PageReference pr = new ApexPages.StandardController(booking).view();
        return pr;
    }
    
    public void cancel(){
        booking = new Booking_Link__c();
    }
}

I hope it helps you.

Kindly let me know if it helps you and close your query by marking it as solved so that it can help others in the future. It will help to keep this community clean.

Thanks and Regards,
Khan Anas
Tanushree Singh 11Tanushree Singh 11 
I have a trigger as follows:

trigger LeadConvert on Lead (after update) {

  // no bulk processing; will only run from the UI
  if (Trigger.new.size() == 1) {

    if (Trigger.old[0].isConverted == false && Trigger.new[0].isConverted == true) {

      // if a new account was created
      if (Trigger.new[0].ConvertedAccountId != null) {

        // update the converted account with some text from the lead
        Account a = [Select a.Id, a.Initial_Payment__c, a.BPS__c,a.Monthly_Payment__c, a.X401_k_Plan_Type__c From Account a Where a.Id = :Trigger.new[0].ConvertedAccountId];
        if (a.X401_k_Plan_Type__c == 'Individual')
        {
            a.NumberOfEmployees = Integer.Valueof(Trigger.new[0].Number_of_Owners__c);
        }
        update a;

      }         

      }        

    }

  
}

It maps converted lead field to an account field.

Have written a test for the same which is giving 0% code coverage.

@isTest
private class LeadConvertTest {
@testSetup static void setup() {
        User users2=createUser();
        system.runAs(users2){
            Lead l1=new Lead();
            l1.LastName='test';
            l1.Number_of_Owners__c = 25;
            insert l1;
   
        }
    }
    
    @isTest
    static void updateAccount1(){
        user us2=[select Id from user where  Email ='xxx@ddd.com'];
        system.runAs(us2){
            Account a2=[select Id from Account limit 1];
            a2.X401_k_Plan_Type__c = 'Individual';
            update a2;
            
        }
        
    }
    
    
    private static user createUser(){
        User plannerUser2 = new User(
            ProfileId = [SELECT Id,name FROM Profile where name='System Administrator'].Id,
            LastName = 'last',
            Email = 'xxx@ddd.com',
            Username = 'xxx@ddd.com' + System.currentTimeMillis(),
            CompanyName = 'TEST1',
            Title = 'title',
            Alias = 'alias',
            TimeZoneSidKey = 'America/Los_Angeles',
            EmailEncodingKey = 'UTF-8',
            LanguageLocaleKey = 'en_US',
            LocaleSidKey = 'en_GB',
            IsActive=true);
        database.insert(plannerUser2);
        return plannerUser2;
    }
    
}

I am new to development and any help woulf be graetly appreciated.
Best Answer chosen by Tanushree Singh 11
Shubham_KumarShubham_Kumar
Hi Tanushree

Your trigger runs on after update and on converted Lead but you have not converted lead in your trigger. 
Try the below code and let me know if you have any queries.
 
@isTest
private class LeadConvertTest {
	
    
    @isTest
    static void updateAccount1(){
        
		
		test.startTest();
		
		User users2=createUser();
        system.runAs(users2){
			Account ac = new Account();// Set all your necessary fields before inserting account
			ac.Name = 'test Account';
			ac.X401_k_Plan_Type__c = 'Individual';
			insert ac;
			
            Lead leadToConvert=new Lead();
            leadToConvert.LastName='test';
            leadToConvert.Number_of_Owners__c = 25;
            insert leadToConvert;
			
			//Converting the inserted Lead		
			database.leadConvert lc = new database.leadConvert();
			lc.setLeadId(leadToConvert.id);
			leadStatus convertStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1];
			lc.setConvertedStatus(convertStatus.MasterLabel);
			lc.setAccountId(ac.Id);
			Database.LeadConvertResult lcr = Database.convertLead(lc);
			System.assert(lcr.isSuccess());
		    
		}
		test.stopTest();
        
	}
    
    
    private static user createUser(){
        User plannerUser2 = new User(
            ProfileId = [SELECT Id,name FROM Profile where name='System Administrator'].Id,
            LastName = 'last',
            Email = 'xxx@ddd.com',
            Username = 'xxx@ddd.com' + System.currentTimeMillis(),
            CompanyName = 'TEST1',
            Title = 'title',
            Alias = 'alias',
            TimeZoneSidKey = 'America/Los_Angeles',
            EmailEncodingKey = 'UTF-8',
            LanguageLocaleKey = 'en_US',
            LocaleSidKey = 'en_GB',
		IsActive=true);
        database.insert(plannerUser2);
        return plannerUser2;
	}
    
}
P.S: mark this as the best answer if this helped you

Thanks
Shubham Kumar
 
ALAL 
Is it possible to connect two Salesforce instances using named credentials and password authentication for the authentication protocol instead of OAuth 2.0? I've read that when connecting between two Salesforce instances, password authentication won't work. Thank you. 
Best Answer chosen by AL
Danielle Rosen 8Danielle Rosen 8 
Hi there, I'm not sure what's wrong with my logic here:

AND ( ISPICKVAL(A_la_carte__c, "")
)
OR (
ISPICKVAL( Opportunity_Type__c, "Video Ad Server"),  
ISPICKVAL( Opportunity_Type__c, "VAD Renewal"),
ISPICKVAL( Opportunity_Type__c, "Amendment"),
) )

I'm trying to say, if the opportunity type selected is any of the above, and a value is not selected in the drop down 'A_la_carte__c' then show validation rule. I'm getting the synax error "Extra OR." Thanks in advance for your help.
Best Answer chosen by Danielle Rosen 8
Khan AnasKhan Anas (Salesforce Developers) 
Hi Danielle,

Greetings to you!

Please try below validation rule:
AND (
   ISPICKVAL(A_la_carte__c, ""),
   OR (
      ISPICKVAL( Opportunity_Type__c, "Video Ad Server"),  
      ISPICKVAL( Opportunity_Type__c, "VAD Renewal"),
      ISPICKVAL( Opportunity_Type__c, "Amendment")
   ) 
)

I hope it helps you.

Kindly let me know if it helps you and close your query by marking it as solved so that it can help others in the future. It will help to keep this community clean.

Thanks and Regards,
Khan Anas
Bryan TelfordBryan Telford 
I have the following Apex class and VF page.  Based on the selection of the tite, the corresponding role should display. I am using the actionSupport to pass the selected value onchange event, and assign the value to selectedTitle. But the selectedTitle is null everytime. Any ideas?

Apex class:
public class selectListController
{
    public String title { get; set; }
    public String role { get; set; }    
    public String selectedTitle { get; set; }        
    public List<selectOption> titleList { get; set; }
    public List<selectOption> roleList { get; set; }
    
    public selectListController()
    {
        titleList = new List<selectOption>();
        titleList.add(new SelectOption('', '--None--'));
        for (TitleRoleAssociation__c title : [Select Title_Definition__r.Name from TitleRoleAssociation__c]) {
            titleList.add(new selectOption(title.Title_Definition__r.Id, title.Title_Definition__r.Name));
        }
    }
    
    public PageReference getRoles(){
        roleList = new List<selectOption>();
        roleList.add(new SelectOption('', '--None--'));
        System.debug('Selected title: ' + selectedTitle);
        for (TitleRoleAssociation__c role : [Select Role_Definition__r.Name from TitleRoleAssociation__c where Title_Definition__r.Name = :selectedTitle]) {
            roleList.add(new selectOption(role.Role_Definition__r.Id, role.Role_Definition__r.Name));
        }
    
        return null;
    }
    
}

VF page:
<apex:page controller="selectListController">
    <apex:form>
        <apex:selectList value="{!title}" multiselect="false" size="1">
            <apex:selectOptions value="{!titleList}" />
            <apex:actionSupport event="onchange" action="{!getRoles}" reRender="role" status="status">                         
               <apex:param name="selectedTitle" value="{!title}" assignTo="{!selectedTitle}"/>
            </apex:actionSupport>            
        </apex:selectList>

        <apex:outputPanel id="role">
        <apex:selectList value="{!role}" multiselect="false" size="1">
            <apex:selectOptions value="{!roleList}" />
        </apex:selectList>        
        </apex:outputPanel>
    </apex:form>
</apex:page>
 
Best Answer chosen by Bryan Telford
Ajay K DubediAjay K Dubedi
Hi Bryan,
    
I have removed errors in your code and it is working fine in my org.
Please update your code by below code.

Controller.
public class selectListController
{
    public String title { get; set; }
    public String role { get; set; }    
    public String selectedTitle { get; set; }        
    public List<selectOption> titleList { get; set; }
    public List<selectOption> roleList { get; set; }
    
    public selectListController()
    {
        titleList = new List<selectOption>();
        titleList.add(new SelectOption('', '--None--'));
        for (TitleRoleAssociation__c title : [Select Title_Definition__r.Name from TitleRoleAssociation__c]) {
            titleList.add(new selectOption(title.Title_Definition__r.Id, title.Title_Definition__r.Name));
        }
    }
    
    public PageReference getRoles(){
        roleList = new List<selectOption>();
        roleList.add(new SelectOption('', '--None--'));
        selectedTitle =  title;
        System.debug('Selected title: ' + selectedTitle);
        for (TitleRoleAssociation__c role : [Select Role_Definition__r.Name from TitleRoleAssociation__c where Title_Definition__r.Name = :selectedTitle]) {
            roleList.add(new selectOption(role.Role_Definition__r.Id, role.Role_Definition__r.Name));
        }
    
        return null;
    }
    
}

VF Page:
<apex:page controller="selectListController">
    <apex:form>
        <apex:selectList value="{!title}" multiselect="false" size="1">
            <apex:selectOptions value="{!titleList}" />
            <apex:actionSupport event="onchange" action="{!getRoles}" reRender="role" status="status">                         
            </apex:actionSupport>            
        </apex:selectList>
        <apex:outputPanel id="role">
        <apex:selectList value="{!role}" multiselect="false" size="1">
            <apex:selectOptions value="{!roleList}" />
        </apex:selectList>        
        </apex:outputPanel>
    </apex:form>
</apex:page>
I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.

Thanks and Regards,
Ajay Dubedi
www.ajaydubedi.com
Krystle SmithKrystle Smith 
I am working through Start Routing with Omni-Channel.

I am stuck on 
From the console, click Omni-Channel in the console footer to open the Omni-Channel widget. Set your status to Available - Case.

1. There is no footer widget for me. Screenshot here: User-added image

I've double checked the set up of my Omni Channel and case are correct. I've also tried deleting and redoing my case, but I still can't get it to appear. Any ideas?

Thanks in advance!
Best Answer chosen by Krystle Smith
Krystle SmithKrystle Smith
Update: issue resoved, you must use it in the Service Console not the Omni Channel one.