What Sales Ask uses in i360
What you need
- Consumer Key
- Consumer Secret
- Salesforce Domain
- Your i360 version: Lightning or Classic
These steps require a Salesforce administrator for the org i360 runs in. Have your Salesforce admin complete them.
- Find your i360 API names.
- Prepare the appointment object so Sales Ask can read its address and log Tasks on it.
- Create an integration user for Sales Ask to act as.
- Create a permission set that gives that user access to appointments.
- Create an external client app and copy its credentials.
- Connect in Sales Ask and add the appointment object.
Find your i360 API names
Sales Ask refers to i360 objects and fields by their API names. These are the standard names for each i360 version:
To confirm them in your org:
- In Setup, go to Object Manager and search for Sales Appointment (Lightning) or Appointment (Classic).
- Open the object. Its API Name is on the Details tab.
- Open Fields & Relationships. Each field’s API name is in the Field Name column.
Prepare the appointment object
Add an address field
i360 stores an appointment’s address in separate street, city, state, and zip fields. Sales Ask reads the address from one field, so add a formula field that combines them.- In Setup → Object Manager, open the appointment object and go to Fields & Relationships → New.
- Choose Formula and click Next.
-
Enter
Sales Ask Addressas the label, which sets the field name toSales_Ask_Address__c. Choose Text as the return type and click Next. -
Enter this formula, using your org’s field names:
If State/Province is a picklist, wrap it in
TEXT(), as inTEXT(i360core__State_Province__c). Click Check Syntax, then Next. - Click Next through field-level security and page layouts, then Save. The permission set below gives the integration user access to the field.
Turn on activities
Sales Ask logs each call as a Task on the appointment, which needs activities turned on for the object.- In Setup → Object Manager, open the appointment object and click Edit.
- Check that Allow Activities is selected, then click Save.
Create an integration user
Sales Ask acts as a single Salesforce user, the app’s Run As user. Salesforce recommends a dedicated, API-only integration user for this. That user signs in through the API only, and every Task Sales Ask logs shows it as the creator.- In Setup, go to Users → Users and click New User.
- Enter a name such as
Sales Ask Integrationand an email address your admin team monitors. - Set User License to Salesforce Integration and Profile to Minimum Access - API Only Integrations, then click Save.
- On the user’s page, scroll to Permission Set License Assignments, click Edit Assignments, check Salesforce API Integration, and click Save.
Create a permission set
The Minimum Access profile grants very little, so give the integration user the access Sales Ask needs through a permission set.- In Setup, go to Users → Permission Sets and click New.
- Enter
Sales Ask Integrationas the label. For License, choose Salesforce API Integration if you created an integration user, or leave it blank otherwise. Click Save. - Open Object Settings, select the appointment object, and click Edit. Check Read and View All.
- On the same page, give Read access to the customer name, appointment date and time, and Sales Ask Address fields. Click Save.
- Open System Permissions, click Edit, and check API Enabled and Edit Tasks. If your org’s sharing settings make Users private, also check View All Users. Click Save.
- Click Manage Assignments → Add Assignment, select the integration user, and click Assign.
Create an external client app
Since Spring ‘26, Salesforce creates new API apps as external client apps. If you already set up a connected app for Sales Ask, it keeps working.- In Setup, go to External Client App Manager and click New External Client App.
- Enter
Sales Askas the name, add a contact email, and set Distribution State to Local. - Under API (Enable OAuth Settings), check Enable OAuth.
- For Callback URL, enter
https://app.salesask.com/oauth/callback. Salesforce requires a callback URL for every app. - Under OAuth Scopes, add Manage user data via APIs (api).
- Under Flow Enablement, check Enable Client Credentials Flow, then click Create.
- Open the app’s Policies tab and click Edit. Under OAuth Flows and External Client App Enhancements, check Enable Client Credentials Flow and set Run As to the integration user. Click Save.
- On the Settings tab, open OAuth Settings and click Consumer Key and Secret. Copy the Consumer Key and Consumer Secret. Salesforce may ask you to verify your identity first.
- In Setup, go to My Domain and copy the Current My Domain URL, for example
mycompany.my.salesforce.com. Use the full.my.salesforce.comaddress.
A new app can take a few minutes to become active. If Sales Ask can’t connect straight away, wait a few minutes and save again.
Limit who can use the app (optional)
To limit the app to the integration user, on the Policies tab click Edit, set Permitted Users to Admin approved users are pre-authorized, and click OK. Under Select Permission Sets, add Sales Ask Integration, then click Save. Keep that permission set assigned to the Run As user so Sales Ask stays connected.Connect in Sales Ask
- Go to Settings → Integrations and search for Salesforce.
- Paste the Consumer Key, Consumer Secret, and Salesforce Domain, and click Save.
-
On the same page, scroll to Salesforce lookup fields. Replace the default objects with your appointment object, using these values for i360 Lightning:
For i360 Classic, use
i360__Appointment__cand the field names from your org. - Click Save lookup fields. Sales Ask checks each object and field against your Salesforce and confirms when they’re saved.
- Choose a matching method.
Appointment reminders
Sales Ask sends a rep the “Ready to record?” reminder, and a missed recording alert if you turn them on, for appointments that have a Salesforce Event. Each appointment needs an Event that:- is owned by the rep, using the Salesforce User with the rep’s Sales Ask email,
- has Related To set to the i360 appointment, and
- starts within the next seven days.
See Sales Ask calls in i360
After a call, Sales Ask adds a completed Task named Sales Ask Recording to the linked appointment. It appears in the appointment’s Activity timeline.Security and data access
How Sales Ask authenticates
- Sales Ask uses the OAuth 2.0 client credentials flow through the external client app you create, with the app’s Consumer Key and Secret.
- Sales Ask exchanges the Consumer Key and Secret for an access token at
https://<your domain>/services/oauth2/token, and gets a new token before the current one expires. - The app’s OAuth scope is Manage user data via APIs (api).
- Every request runs as the app’s Run As user, with the access its permission set grants.
- To revoke access, delete the external client app or deactivate the integration user in Salesforce. To rotate credentials, generate a new Consumer Secret and save it in Sales Ask.
What Sales Ask writes
The Task’s assigned user is the integration user.
What Sales Ask reads
Troubleshooting
If Sales Ask can’t connect, check that:- Enable Client Credentials Flow is checked on the app’s Policies tab, and Run As is set to an active user,
- the domain ends in
.my.salesforce.com, - the Consumer Key and Secret were copied in full, with no extra spaces, and
- a few minutes have passed since you created the app.
- the object and field API names match your org, including the
i360core__ori360__prefix, and - the permission set gives Read access to the object and each field.

