Reference
Close
Set up Close OAuth for sales CRM and pipeline management
Overview
Section titled “Overview”Connect your users to Close for sales CRM, pipeline management, and lead tracking.
| Property | Value |
|---|---|
| Provider ID | close |
| Category | CRM |
| PKCE | Supported |
| Token refresh | Automatic |
| Redirect URI | Shown in Developer Portal |
Step 1: Create a Close OAuth App
Section titled “Step 1: Create a Close OAuth App”Go to Close Developer Settings
Navigate to Close Developer Settings and sign in.
Create an app
Open the OAuth Apps tab and click Create App.
Configure the application
Enter the app name and description. Add the Alter callback URL (from the Developer Portal) to Redirect URL.
Get credentials
Copy the Client ID and Client Secret.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Open the Developer Portal
Go to portal.alterauth.com and navigate to the application.
Add Close provider
Go to OAuth Providers > Add Provider > Close.
Enter credentials
- Client ID: Paste your Close Client ID
- Client Secret: Paste your Close Client Secret
Select scopes
Choose the scopes the application needs.
Save
Click Save. The provider is now active.
Available Scopes
Section titled “Available Scopes”| Scope | Description |
|---|---|
offline_access | Request a refresh token for long-lived access |
all.full_access | Full read and write access to all resources |
all.read | Read-only access to all resources |
- Alter always requests
offline_access(it is a required scope), so Close issues a refresh token and Alter Vault renews access tokens automatically. - For read-only integrations, use
all.readcombined withoffline_access. - A new OAuth app starts as Private: only users in the same Close organization can authorize it. Request Public from the app’s settings when users from other organizations need to connect.
- See the Close API documentation for more details on authentication and available endpoints.
Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.
| Operation ID | Families | Method | Provider path | Notes |
|---|---|---|---|---|
bulkCreate | send | POST | /send_as/bulk/ | also accepts bulk-create |
archive | delete, write | POST | /playbook/{id}/archive/ | — |
delete | delete | DELETE | /lead/{id}/ | — |
deleteAssociation | delete | DELETE | /custom_field/shared/{scf_id}/association/{object_type}/ | also accepts delete-association |
deleteByUser | admin, delete | DELETE | /send_as/ | also accepts delete-by-user |
deleteIntegration | admin, delete | DELETE | /scheduling_link/integration/{source_id}/ | also accepts delete-integration |
deleteShared | delete | DELETE | /shared_scheduling_link/{id}/ | also accepts delete-shared |
deleteSharedAssociation | delete, write | POST | /shared_scheduling_link_association/unmap/ | also accepts delete-shared-association |
deleteSubscription | delete | DELETE | /sequence_subscription/{id}/ | also accepts delete-subscription |
removeMember | admin, delete | DELETE | /group/{group_id}/member/{user_id}/ | also accepts remove-member |
unarchive | delete, write | POST | /playbook/{id}/unarchive/ | — |
addMember | admin, write | POST | /group/{group_id}/member/ | also accepts add-member |
updatePinnedViews | admin, write | PUT | /membership/{id}/pinned_views/ | also accepts update-pinned-views |
updateSettings | admin, write | PUT | /blocked_phone_number/settings/ | also accepts update-settings |
bulk-update | write | PUT | /task/ | — |
create | write | POST | /lead/ | — |
createAssociation | write | POST | /custom_field/shared/{scf_id}/association/ | also accepts create-association |
post:/activity/meeting/{id}/integration/ | write | POST | /activity/meeting/{id}/integration/ | also accepts create-integration |
createLead | write | POST | /export/lead/ | also accepts create-lead |
createOpportunity | write | POST | /export/opportunity/ | also accepts create-opportunity |
createShared | write | POST | /shared_scheduling_link/ | also accepts create-shared |
createSharedAssociation | write | POST | /shared_scheduling_link_association/ | also accepts create-shared-association |
createSubscription | write | POST | /sequence_subscription/ | also accepts create-subscription |
getActivity | write | POST | /report/activity/ | also accepts get-activity |
getFunnelStages | write | POST | /report/funnel/opportunity/stages/ | also accepts get-funnel-stages |
getFunnelTotals | write | POST | /report/funnel/opportunity/totals/ | also accepts get-funnel-totals |
merge | write | POST | /lead/merge/ | — |
update | write | PUT | /lead/{id}/ | — |
updateAssociation | write | PUT | /custom_field/shared/{scf_id}/association/{object_type}/ | also accepts update-association |
updateShared | write | PUT | /shared_scheduling_link/{id}/ | also accepts update-shared |
updateSubscription | write | PUT | /sequence_subscription/{id}/ | also accepts update-subscription |
fetch | read | GET | /form/{id}/ | — |
get | read | GET | /lead/{id}/ | — |
getAssociation | read | GET | /custom_field/shared/{scf_id}/association/{object_type}/ | also accepts get-association |
getCustom | read | GET | /report/custom/{org_id}/ | also accepts get-custom |
getLead | read | GET | /export/lead/{id}/ | also accepts get-lead |
getSentEmails | read | GET | /report/sent_emails/{org_id}/ | also accepts get-sent-emails |
getThread | read | GET | /comment_thread/{id}/ | also accepts get-thread |
listThreads | read | GET | /comment_thread/ | also accepts list-threads |
render | read | GET | /email_template/{id}/render/ | — |