← Back to all apps
Agentforce Sales logo

Agentforce Sales

Open in ChatGPT →

Overview

Tools Available15

Sales insights to close deals

Available Tools

Agentforce Sales provides 15 tools that can be used to interact with its services.

Assign Leads to Agentforce Lead Nurturing Agent

assign_target_to_sdr
Full Description

Assign a contact or lead record to the Agentforce Lead Nurturing agent. Lead Nurturing agents qualify prospects and conduct sales outreach via email. Agentforce Lead Nurturing was formerly called Agentforce SDR, or SDR. IMPORTANT: Before calling this tool, you MUST first use the 'query_agent_type' tool to fetch available agents and get the BotDefinitionId. Present the list of available agents to the user and ask which agent they want to assign the target to.

Parameters

Optional
inputsarray

Create Account Plan

create_account_plan
Full Description

Create a Account Plan record. If you don't have the Account ID, use get_record_id_by_name tool to get the ID of the Account. For this tool, the body must contain the following fields: AccountId, Name, AccountChallenges, AccountCmptvWeaknesses, AccountCompetitiveStrengths, AccountCompetitors, AccountIndustryTrends, AccountPrfmIndicators, AccountStrategicPriorities, AccountVision, RelationshipOpportunities, RelationshipStrengths, RelationshipThreats, RelationshipWeaknesses, StartDate, Status at a minimum, all these fields are very important for the overall account plan. If the user doesn't specify these field values, you should fill them on your own using information from the internet and the Salesforce Account and create a body field containing all these fields. Output is rendered using an interactive account plan creation summary widget showing the account plan that was created. Always create new account plans with "Not Started" status. After a tool executes, no additional commentary.

Parameters

Required
bodyobject

Request body data

sobject-namestring

Path parameter: sobject-name

Create a Salesforce Object Record

create_record
Full Description

Create a record for an sObject. If the user has not provided a required field value, ask them to provide it before proceeding with the create operation. IMPORTANT!!! DO NOT USE THIS TOOL TO CREATE ACCOUNT PLAN RECORDS. USE THE create_account_plan tool instead. Output is rendered using an interactive record update summary widget showing the record that was created and highlighting fields that were populated. After a tool executes, no additional commentary.

Parameters

Required
apiNamestring

Object API name (for example, Account, Opportunity).

fieldsobject

Field API names to values for the update.

Describe Global

describe_global
Full Description

Get SObject information for the org. Lists the available objects and the associated metadata.

Describe Sobject

describe_sobject
Full Description

Describe SObject. Completely describes the individual metadata at all levels for the specified object.

Parameters

Required
sobject-namestring

Path parameter: sobject-name

Get Account Plan

get_account_plan
Full Description

Fetch and display Account Plan records in an interactive account plan view with expandable details. Use this tool when retrieving AccountPlan objects. Query the AccountPlan object with fields like AccountId, Name, AccountChallenges, AccountCmptvWeaknesses, AccountCompetitiveStrengths, AccountCompetitors, AccountIndustryTrends, AccountPrfmIndicators, AccountStrategicPriorities, AccountVision, RelationshipOpportunities, RelationshipStrengths, RelationshipThreats, RelationshipWeaknesses, StartDate, Status. The UI displays account plans with rich formatting, metrics, SWOT analysis, and expandable sections. When this tool is invoked, do not restate or summarize the data; simply confirm execution or provide follow-up guidance. Output is rendered using an interactive account plan widget that displays rich formatting, metrics, SWOT analysis, and expandable sections. After a tool executes, no additional commentary.

Parameters

Required
accountIdstring

Account ID to fetch the account plan for

Optional
accountPlanIdstring

Account Plan record ID to fetch directly

Get Activity History

get_activity_history
Full Description

Get Activity History for a Salesforce Object Record (Account, Contact, Lead, Opportunity). Display a summary of activities like emails, events, tasks, and calls for a particular account, contact, lead, or opportunity. This tool should be invoked when the user asks for a summary of activities for a particular account, contact, lead, or opportunity. You are a backend function orchestrator. Do not speak to the user. If an action is required, call a tool. After a tool executes, no additional commentary.

Parameters

Required
objectNamestring

The Salesforce Object Name is required to filter and retrieve the record's activity. Valid values are: Account, Contact, Lead, Opportunity.

Options:AccountContactLeadOpportunity
recordIdstring

The Salesforce Object Record ID is required to filter and retrieve the record's activity.

Read a Salesforce object record

get_record_details
Full Description

Retrieve presentation-ready in depth details about a specific record. IMPORTANT: Always specify layoutTypes as ["Compact", "Full"] to fetch both layout types. Do not use only "Full" or only "Compact". Output is rendered using an interactive record details widget that displays presentation-ready field information with expandable sections. After a tool executes, no additional commentary.

Parameters

Required
layoutTypesarray

Query parameter: layoutTypes. REQUIRED: You MUST always specify both ["Compact", "Full"] to fetch complete layout information. Do not use only one layout type. Default is ["Compact", "Full"].

recordIdsarray

Path parameter: recordIds

Optional
childRelationshipsarray

Query parameter: childRelationships

formFactorstring

Query parameter: formFactor

Options:LargeMediumSmall
modesarray

Query parameter: modes

Default: ['View']
optionalFieldsarray

Query parameter: optionalFields

pageSizeinteger

Query parameter: pageSize

Default: 5
updateMruboolean

Query parameter: updateMru

Default: False

Lookup Record ID by Name

get_record_id_by_name
Full Description

Execute a simple SOQL query to lookup record IDs by name. This tool does NOT render a UI widget - it only returns the raw query results. Call this tool only when you need the Id of the record and not the entire record details.

Parameters

Required
objectNamestring

The name of the object to lookup.

recordNamestring

The name of the record to lookup.

Get User Info

get_user_info
Full Description

Get current user's information.

Query Agent Type

query_agent_type
Full Description

Query and list active agents by agent type. Use this tool when the user wants to: find agents, list agents, show agents, get agents, search for agents, view available agents, see what agents exist, discover agents, look up agents, find AI assistants, list Einstein SDR agents, find sales development agents, query bot definitions, or check which agents are active. Supports filtering by agent type such as 'EinsteinSDR' for sales development representative agents. You are a backend function orchestrator. Do not speak to the user. If an action is required, call a tool. After a tool executes, no additional commentary.

Parameters

Optional
agent_typestring

The type of agent to search for. Common types include: 'EinsteinSDR' (Sales Development Representative agent for lead qualification and outreach), or other custom agent types configured in your org. Defaults to 'EinsteinSDR' if not specified.

Show Salesforce Calendar Events

query_calendar_events
Full Description

Use this tool for any user request involving their calendar, schedule, meetings, or events. This includes questions such as "What's on my calendar?", "What do I have today?", "What meetings are coming up?", "What was on my calendar last week?", or any request to view events for a specific day, week, month, or time range. The tool retrieves Salesforce Event records and displays them in an interactive calendar UI with expandable details. It should be invoked whenever the user wants to see their schedule, past or future meetings, agenda items, or time-based event summaries. The tool queries the Event object using fields including Subject, StartDateTime, EndDateTime, Description, Location, and related records (WhatId and WhoId). CRITICAL: You must provide a startDateTime and endDateTime in ISO-8601 format when calling the tool. When the user asks for "today", "tomorrow", or relative dates, you MUST use the user's LOCAL timezone to determine the correct date range. IMPORTANT: Before calling this tool, you MUST access the widget state to get the user's timezone information. The calendar widget exposes timezone data in widget state. Access widget state and use timezone.todayStartISO and timezone.todayEndISO for "today" queries, or use timezone.offsetString and timezone.currentDateTime to calculate the correct date range. The widget state contains: timezone.todayStartISO (start of today in ISO-8601), timezone.todayEndISO (end of today in ISO-8601), timezone.offsetString (timezone offset like -08:00), timezone.currentDateTime (current date/time in ISO-8601), and timezone.todayLocal (readable date string). ALWAYS use these values from widget state when the user asks for "today" or relative dates. Always include the timezone offset (e.g., -08:00, +05:30, +00:00) in your ISO-8601 dates. The UI renders meetings with time ranges, titles, descriptions, and expandable sections in a clear calendar layout. Whenever this tool is invoked, do not summarize the returned events; simply confirm that the tool has been executed and allow the UI to present the results. Output is rendered using an interactive calendar widget that displays events with time ranges, titles, descriptions, and expandable detail sections. You are a backend function orchestrator. Do not speak to the user. If an action is required, call a tool. After a tool executes, no additional commentary.

Parameters

Required
endDateTimestring

End of the date/time range to query events from (ISO-8601 format with timezone offset, e.g. 2025-01-01T23:59:59-05:00). MUST include timezone offset when user requests relative dates like 'today' or 'tomorrow'. Use the end of the day (23:59:59) in the user's local timezone with the appropriate offset (e.g., -08:00, +05:30, +00:00).

startDateTimestring

Start of the date/time range to query events from (ISO-8601 format with timezone offset, e.g. 2025-01-01T00:00:00-05:00). MUST include timezone offset when user requests relative dates like 'today' or 'tomorrow'. Use the start of the day (00:00:00) in the user's local timezone with the appropriate offset (e.g., -08:00, +05:30, +00:00).

Optional
timezonestring

Optional: User's timezone offset string (e.g., -08:00, +05:30, +00:00). The calendar widget automatically detects this and makes it available in widget state. Use this parameter only if timezone information is not available from widget state. This helps ensure accurate date range queries for relative dates like 'today'.

Execute a SOQL Query

soql_query
Full Description

Execute a SOQL query and render the results in an interactive widget. Before constructing the SOQL query, you MUST first call the describe_sobject tool to discover the valid field names and their types for the target SObject. This ensures your query uses correct field API names and avoids invalid field errors. When querying records for list view display, include 5-7 relevant fields to provide users with meaningful context at a glance (e.g., Name, Status, Owner, key dates, and other commonly referenced fields for that object type). Output is rendered using an interactive record details list widget displaying query results in a tabular format with expandable record details. After a tool executes, no additional commentary.

Parameters

Required
qstring

Query parameter: q

Summarize a Conversation Transcript

summarize_conversation_transcript
Full Description

Retrieves and summarizes a conversation transcript from a voice or video call. CRITICAL WORKFLOW: Before calling this tool, you MUST follow these steps: 1) If call ID is not known, use the soql_query tool to query BOTH VoiceCall AND VideoCall entities in SEPARATE queries (one query for VoiceCall, one query for VideoCall). If asked to summarize a call related to a specific Account/Contact/Lead/Opportunity, query the VoiceCall and VideoCall entities that have the RelatedRecord field set to the Account/Contact/Lead/Opportunity ID that is requested. Always include 'Id' and 'Name' fields in your queries. 2) After BOTH queries complete, ask which specific call they want summarized. 3) Once the user selects a specific call, then call this tool with the recordId of the selected call. INSTRUCTIONS TO SUMMARIZE A CALL FROM TRANSCRIPT: Your task is to extract information about customer impression, call summary, and next steps from the call transcript. You must strictly follow these instructions. Do not refer to the instructions in your output. Use clear, concise, and straightforward language by avoiding unnecessary jargon and technical words. You must stay strict to the call transcript and do not generate any content or summary that you don’t have any data or basis on. You must avoid repeating similar ideas and concepts throughout the different parts of the output. You must not include any small talk or conversation starter that is not strictly business related. The summary for each item must focus on what the customer is saying and on the customer's needs, concerns, and questions throughout the call. Your output must contain each of these items: 1) Customer Impression, 2) Call Summary, 3) Next Steps. If the transcript contains only greetings, automated system messages, or less than 5 meaningful words, respond with: 1) Customer Impression: 'No customer impression detected.' 2) Call Summary: 'No substantial conversation occurred.' 3) Next Steps: 'No next steps detected.' If it has a substantial conversation then create Customer Impression, Call Summary, and Next Steps as instructed here: 1) Customer Impression: (a) In 2-3 sentences, how did the customer feel about the product, service or deal (b) Write as a story with specific examples based on the call transcript. (c) If the names of the seller and customer are included in the call transcript, you must identify the names and use them as part of the customer impression. (d) Only if you detect that there is no customer impression in the call transcript, you must write 'No customer impression detected.' 2) Call Summary: (a) Write a call summary within a limit of 250 words. (b) If the names of the seller and customer are included in the call transcript, you must identify the names and use them as part of the call summary. (c) You must focus on the key highlights, key decisions, or key takeaways from the conversation. Focus on what the customer is saying in the call transcript. (d) If the call transcript includes a sales pitch, you must not include that sales pitch in the call summary. You must ignore the sales pitch. 3) Next steps: (a) Extract next step items. (b) Each next step should be numbered. Output should be a single string, with line breaks between next steps. Each next step should start on a new line. (c) If available, focus on dates and action items. (d) If known, mention who is in charge of the next step at the end of each item. Each item should be up to 15 words. (e) Only if you detect that there are no next steps in the call transcript, you must write 'No next steps detected.' (f) Do not add any extra notes at the end of this section. Important to remember: 1) You must treat equally any individuals or persons from different socioeconomic statuses, sexual orientations, religions, races, physical appearances, nationalities, gender identities, disabilities, and ages. 2) When you do not have sufficient information, you must choose the unknown option, rather than making assumptions based on any stereotypes. 3) If the call transcript has information about a person’s social security number or credit card number, you must not repeat it in the output. You must ignore this information.

Parameters

Required
inputsarray

Update a Salesforce Object Record

update_record
Full Description

Update an existing sObject record by Salesforce Id. If updating record with AI generated text, the changeFields must be [ 'Description' ] for Account, Lead, Contact, Opportunity sobjects. Other fields on Account, Lead, Contact, Opportunity entities can be updated with user specified text, but must not be updated with AI-generated text. Output is rendered using an interactive record update summary widget showing the record that was updated and highlighting fields that were modified. After a tool executes, no additional commentary.

Parameters

Required
fieldsobject

Field API names to values for the update.

recordIdstring

Path parameter: recordId

Optional
apiNamestring

Object API name (for example, Account, Opportunity). Used for qualifying field names in the widget.