---
schema_version: "1"
id: d107ba42fb942a99ad75fe0c010496e280dc6871436b12ab4ed7e760c3d44cca
title: searchAndScreenPop() for Salesforce Classic
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/api-cti/guides/sforce-api-cti-searchandscreenpop.md
canonical_url: https://developer.salesforce.com/docs/service/api-cti/guide/sforce-api-cti-searchandscreenpop.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: c7245e62d420f17ecf101bb1fdfe2826cfeaa60d9a01c2ef9c7466ddac0af93b
products:
  - Open CTI Developer Guide
  - Service Cloud Developer Content
---

# searchAndScreenPop() for Salesforce Classic

## Usage

Searches objects specified in the softphone layout for a given string. Returns search results and screen pops any matching records. This method respects screen pop settings defined in the softphone layout.

**note:** The returned response displays only matches that meet your softphone layout settings. However, the search page that screen pops, displays all matches, regardless of the objects you specify in your sofpthone layout.

## Syntax

```javascript
sforce.interaction.searchAndScreenPop(searchParams:string, queryParams:string, callType:string, (optional) callback:function);
```

## Arguments

|Name|Type|Description|
|------|------|-------------|
|`searchParams`|string|String to search.|
|`queryParams`|string|Specifies the query parameters to pass to the URL.|
|`callType`|string|Specifies the type of call—inbound, outbound, internal, or null. Per the settings in the softphone layout, the call type determines which objects to search for any matches. If `callType` is null, searches are inbound by default. If `callType` is internal or outbound, no screen pops occur.|
|`callback`|function|JavaScript method executed when the API method call is completed.|


## Sample Code–JavaScript

<!-- javascript set_clipboard -->
```javascript
<html>
<head>
   <script type="text/javascript" src="http://domain:port/support/api/33.0/interaction.js"></script>
   <script type="text/javascript">
       var callback = function (response) {
           if (response.result) {
                  alert(response.result);
            } else {
                   alert(response.error);
           }
        };
       function searchAndScreenPop() {
                //Invokes API method
                sforce.interaction.searchAndScreenPop('Acme', 'Key1=value1&Key2=value2', 'inbound', callback);
        }
</script>
</head>
<body>
       <button onclick="searchAndScreenPop();">searchAndScreenPop</button>
</body>
</html>
```

## Response

|Name|Type|Description|
|------|------|-------------|
|`result`|string|Returns a list of objects that match the search results. The search is performed on the objects specified in the softphone layout. For each object found, the object ID, field names, field values, and for API version 33.0 or later, object tab names are returned as a JSON string. If multiple matches are found, only a single field is returned. For API version 31.0 and later, invoking this method on a PersonAccount object returns additional `contactId` and `personAccount` fields.|
|`error`|string|If the API call was successful, this variable is undefined. If the API call failed, this variable returns an error message.|


Example `result` when searching for "Acme" (one Account and three Opportunity objects found):

```javascript
{
    "006x0000001ZcyG" : {"Name" : "Acme - 600 Widgets", "object" : "Opportunity", "displayName" : "Opportunity"},
    "001x0000003DGQR" : {"Name" : "Acme", "Type" : "Analyst", "object" : "Account", "displayName" : "Company"},
    "006x0000001ZcyH" : {"Name" : "Acme - 200 Widgets", "object" : "Opportunity", "displayName" : "Opportunity"},
    "006x0000001ZcyF" : {"Name" : "Acme - 1,200 Widgets", "object" : "Opportunity", "displayName" : "Opportunity"}
}
```

Example `result` for a PersonAccount object (API version 31.0 and later):

```javascript
{"001D000000JWAW8":{"Name":"Acme","contactId":"003D000000QNwDB",
"Type":"Analyst","object":"Account","personAccount":true}}
```

