BUSINESS · CRM & SUPPORT
Contacts, companies, conversations, tickets and articles they already work in.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
intercom_delete_ai_content_import_sources_by_source_idWRITEDelete content import source via DELETE /ai/content_import_sources/{source_id}
intercom_delete_ai_external_pages_by_page_idWRITEDelete external page via DELETE /ai/external_pages/{page_id}
intercom_delete_articles_by_article_idWRITEDelete article via DELETE /articles/{article_id}
intercom_delete_articles_by_article_id_tags_by_idWRITEDetach tag from article via DELETE /articles/{article_id}/tags/{id}
intercom_delete_audiences_by_idWRITEDelete audience via DELETE /audiences/{id}
intercom_delete_companies_by_company_idWRITEDelete company via DELETE /companies/{company_id}
intercom_delete_contacts_by_contact_idWRITEDelete contact via DELETE /contacts/{contact_id}
intercom_delete_contacts_by_contact_id_companies_by_company_idWRITEDetach contact from a company via DELETE /contacts/{contact_id}/companies/{company_id}
intercom_delete_contacts_by_contact_id_subscriptions_by_subscription_idWRITEDetach subscription type to contact via DELETE /contacts/{contact_id}/subscriptions/{subscription_id}
intercom_delete_contacts_by_contact_id_tags_by_tag_idWRITEDetach tag from contact via DELETE /contacts/{contact_id}/tags/{tag_id}
intercom_delete_content_snippets_by_content_snippet_id_tags_by_idWRITEDetach tag from content snippet via DELETE /content_snippets/{content_snippet_id}/tags/{id}
intercom_delete_content_snippets_by_idWRITEDelete content snippet via DELETE /content_snippets/{id}
intercom_delete_conversations_attributes_by_idWRITEDelete conversation attribute via DELETE /conversations/attributes/{id}
intercom_delete_conversations_attributes_by_id_options_by_option_idWRITEDelete conversation attribute option via DELETE /conversations/attributes/{id}/options/{option_id}
intercom_delete_conversations_by_conversation_idWRITEDelete conversation via DELETE /conversations/{conversation_id}
intercom_delete_conversations_by_conversation_id_customers_by_contact_idWRITEDetach contact from conversation via DELETE /conversations/{conversation_id}/customers/{contact_id}
intercom_delete_conversations_by_conversation_id_tags_by_tag_idWRITEDetach tag from conversation via DELETE /conversations/{conversation_id}/tags/{tag_id}
intercom_delete_custom_object_instances_by_custom_object_type_identifierWRITEDelete custom object instances by id via DELETE /custom_object_instances/{custom_object_type_identifier}
intercom_delete_custom_object_instances_by_custom_object_type_identifier_by_custom_object_instance_idWRITEDelete custom object instances by external id via DELETE /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}
intercom_delete_data_connectors_by_idWRITEDelete data connector via DELETE /data_connectors/{id}
intercom_delete_help_center_collections_by_collection_idWRITEDelete collection via DELETE /help_center/collections/{collection_id}
intercom_delete_help_center_help_centers_by_help_center_id_redirects_by_idWRITEDelete help center redirect via DELETE /help_center/help_centers/{help_center_id}/redirects/{id}
intercom_delete_internal_articles_by_internal_article_idWRITEDelete internal article via DELETE /internal_articles/{internal_article_id}
intercom_delete_internal_articles_by_internal_article_id_tags_by_idWRITEDetach tag from internal article via DELETE /internal_articles/{internal_article_id}/tags/{id}
intercom_delete_news_news_items_by_news_item_idWRITEDelete news item via DELETE /news/news_items/{news_item_id}
intercom_delete_office_hours_schedules_by_idWRITEDelete office hours schedule via DELETE /office_hours_schedules/{id}
intercom_delete_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_idWRITEDelete office hours exception via DELETE /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}
intercom_delete_tags_by_tag_idWRITEDelete tag via DELETE /tags/{tag_id}
intercom_delete_tickets_by_ticket_idWRITEDelete ticket via DELETE /tickets/{ticket_id}
intercom_delete_tickets_by_ticket_id_linked_conversations_by_idWRITEUnlink conversation from ticket via DELETE /tickets/{ticket_id}/linked_conversations/{id}
intercom_delete_tickets_by_ticket_id_tags_by_tag_idWRITEDetach tag from ticket via DELETE /tickets/{ticket_id}/tags/{tag_id}
intercom_get_adminsREADList admins via GET /admins
intercom_get_admins_activity_log_event_typesREADList activity log event types via GET /admins/activity_log_event_types
intercom_get_admins_activity_logsREADList activity logs via GET /admins/activity_logs
intercom_get_admins_by_admin_idREADRetrieve admin via GET /admins/{admin_id}
intercom_get_ai_content_import_sourcesREADList content import sources via GET /ai/content_import_sources
intercom_get_ai_content_import_sources_by_source_idREADGet content import source via GET /ai/content_import_sources/{source_id}
intercom_get_ai_external_pagesREADList external pages via GET /ai/external_pages
intercom_get_ai_external_pages_by_page_idREADGet external page via GET /ai/external_pages/{page_id}
intercom_get_articlesREADList articles via GET /articles
intercom_get_articles_by_article_idREADRetrieve article via GET /articles/{article_id}
intercom_get_articles_by_article_id_versionsREADList article versions via GET /articles/{article_id}/versions
intercom_get_articles_by_article_id_versions_by_idREADRetrieve article version via GET /articles/{article_id}/versions/{id}
intercom_get_articles_by_id_draftREADRetrieve article draft via GET /articles/{id}/draft
intercom_get_articles_searchREADSearch articles via GET /articles/search
intercom_get_audiencesREADList audiences via GET /audiences
intercom_get_audiences_by_idREADRetrieve audience via GET /audiences/{id}
intercom_get_away_status_reasonsREADList away status reasons via GET /away_status_reasons
intercom_get_brandsREADList brands via GET /brands
intercom_get_brands_by_idREADRetrieve brand via GET /brands/{id}
intercom_get_callsREADList calls via GET /calls
intercom_get_calls_by_call_idREADShow call via GET /calls/{call_id}
intercom_get_calls_by_call_id_recordingREADShow call recording via GET /calls/{call_id}/recording
intercom_get_calls_by_call_id_transcriptREADShow call transcript via GET /calls/{call_id}/transcript
intercom_get_companiesREADRetrieve company via GET /companies
intercom_get_companies_by_company_idREADRetrieve a company by id via GET /companies/{company_id}
intercom_get_companies_by_company_id_contactsREADList attached contacts via GET /companies/{company_id}/contacts
intercom_get_companies_by_company_id_notesREADList company notes via GET /companies/{company_id}/notes
intercom_get_companies_by_company_id_segmentsREADList attached segments for companies via GET /companies/{company_id}/segments
intercom_get_companies_scrollREADScroll over all companies via GET /companies/scroll
intercom_get_contactsREADList contacts via GET /contacts
intercom_get_contacts_by_contact_idREADShow contact via GET /contacts/{contact_id}
intercom_get_contacts_by_contact_id_companiesREADList companies for a contact via GET /contacts/{contact_id}/companies
intercom_get_contacts_by_contact_id_notesREADList notes via GET /contacts/{contact_id}/notes
intercom_get_contacts_by_contact_id_segmentsREADList segments for a contact via GET /contacts/{contact_id}/segments
intercom_get_contacts_by_contact_id_subscriptionsREADList subscriptions for a contact via GET /contacts/{contact_id}/subscriptions
intercom_get_contacts_by_contact_id_tagsREADList tags for a contact via GET /contacts/{contact_id}/tags
intercom_get_contacts_by_id_bannersREADList contact banners via GET /contacts/{id}/banners
intercom_get_contacts_by_id_merge_historyREADList contact merge history via GET /contacts/{id}/merge_history
intercom_get_contacts_find_by_external_id_by_external_idREADShow contact by external id via GET /contacts/find_by_external_id/{external_id}
intercom_get_content_searchREADSearch content via GET /content/search
intercom_get_content_snippetsREADList content snippets via GET /content_snippets
intercom_get_content_snippets_by_idREADGet content snippet via GET /content_snippets/{id}
intercom_get_conversationsREADList conversations via GET /conversations
intercom_get_conversations_attributesREADList conversation attributes via GET /conversations/attributes
intercom_get_conversations_attributes_by_idREADGet conversation attribute via GET /conversations/attributes/{id}
intercom_get_conversations_by_conversation_idREADRetrieve conversation via GET /conversations/{conversation_id}
intercom_get_conversations_by_id_handling_eventsREADList handling events via GET /conversations/{id}/handling_events
intercom_get_conversations_by_id_side_conversationsREADList side conversations via GET /conversations/{id}/side_conversations
intercom_get_conversations_deletedREADList deleted conversation ids via GET /conversations/deleted
intercom_get_custom_object_instances_by_custom_object_type_identifierREADList custom object instances via GET /custom_object_instances/{custom_object_type_identifier}
intercom_get_custom_object_instances_by_custom_object_type_identifier_by_custom_object_instance_idREADGet custom object instances by id via GET /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}
intercom_get_data_attributesREADLis data attributes via GET /data_attributes
intercom_get_data_connectorsREADList data connectors via GET /data_connectors
intercom_get_data_connectors_by_data_connector_id_execution_resultsREADList data connector execution results via GET /data_connectors/{data_connector_id}/execution_results
intercom_get_data_connectors_by_data_connector_id_execution_results_by_idREADShow data connector execution result via GET /data_connectors/{data_connector_id}/execution_results/{id}
intercom_get_data_connectors_by_idREADRetrieve data connector via GET /data_connectors/{id}
intercom_get_download_content_data_by_job_identifierREADDownload data export via GET /download/content/data/{job_identifier}
intercom_get_download_reporting_data_by_job_identifierREADIntercom get download reporting data by job identifier via GET /download/reporting_data/{job_identifier}
intercom_get_emailsREADList emails via GET /emails
intercom_get_emails_by_idREADRetrieve email via GET /emails/{id}
intercom_get_eventsREADLis data events via GET /events
intercom_get_export_content_data_by_job_identifierREADGet data export via GET /export/content/data/{job_identifier}
intercom_get_export_reporting_data_by_job_identifierREADIntercom get export reporting data by job identifier via GET /export/reporting_data/{job_identifier}
intercom_get_export_reporting_data_get_datasetsREADIntercom get export reporting data get datasets via GET /export/reporting_data/get_datasets
intercom_get_export_workflows_by_idREADExport workflow via GET /export/workflows/{id}
intercom_get_fin_voice_collect_by_idREADCollect fin voice call by id via GET /fin_voice/collect/{id}
intercom_get_fin_voice_conversation_by_conversation_idREADCollect fin voice calls by conversation id via GET /fin_voice/conversation/{conversation_id}
intercom_get_fin_voice_external_id_by_external_idREADCollect fin voice call by external id via GET /fin_voice/external_id/{external_id}
intercom_get_fin_voice_phone_number_by_phone_numberREADCollect fin voice call by phone number via GET /fin_voice/phone_number/{phone_number}
intercom_get_help_center_collectionsREADList all collections via GET /help_center/collections
intercom_get_help_center_collections_by_collection_idREADRetrieve collection via GET /help_center/collections/{collection_id}
intercom_get_help_center_help_centersREADList help centers via GET /help_center/help_centers
intercom_get_help_center_help_centers_by_help_center_idREADRetrieve help center via GET /help_center/help_centers/{help_center_id}
intercom_get_help_center_help_centers_by_help_center_id_redirectsREADList help center redirects via GET /help_center/help_centers/{help_center_id}/redirects
intercom_get_help_center_help_centers_by_help_center_id_redirects_by_idREADRetrieve help center redirect via GET /help_center/help_centers/{help_center_id}/redirects/{id}
intercom_get_internal_articlesREADList internal articles via GET /internal_articles
intercom_get_internal_articles_by_internal_article_idREADRetrieve internal article via GET /internal_articles/{internal_article_id}
intercom_get_internal_articles_searchREADSearch internal articles via GET /internal_articles/search
intercom_get_ip_allowlistREADGet ip allowlist via GET /ip_allowlist
intercom_get_jobs_status_by_job_idREADJobs status via GET /jobs/status/{job_id}
intercom_get_macrosREADList macros via GET /macros
intercom_get_macros_by_idREADGet macro via GET /macros/{id}
intercom_get_meREADIdentify admin via GET /me
intercom_get_messages_statusREADGet whats app message status via GET /messages/status
intercom_get_messages_whatsapp_statusREADRetrieve whats app message status via GET /messages/whatsapp/status
intercom_get_news_news_itemsREADList news items via GET /news/news_items
intercom_get_news_news_items_by_news_item_idREADRetrieve news item via GET /news/news_items/{news_item_id}
intercom_get_news_newsfeedsREADList newsfeeds via GET /news/newsfeeds
intercom_get_news_newsfeeds_by_newsfeed_idREADRetrieve newsfeed via GET /news/newsfeeds/{newsfeed_id}
intercom_get_news_newsfeeds_by_newsfeed_id_itemsREADList live newsfeed items via GET /news/newsfeeds/{newsfeed_id}/items
intercom_get_notes_by_note_idREADRetrieve note via GET /notes/{note_id}
intercom_get_office_hours_schedulesREADList office hours schedules via GET /office_hours_schedules
intercom_get_office_hours_schedules_by_idREADGet office hours schedule via GET /office_hours_schedules/{id}
intercom_get_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptionsREADList office hours exceptions via GET /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions
intercom_get_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_idREADGet office hours exception via GET /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}
intercom_get_segmentsREADList segments via GET /segments
intercom_get_segments_by_segment_idREADRetrieve segment via GET /segments/{segment_id}
intercom_get_subscription_typesREADList subscription types via GET /subscription_types
intercom_get_tagsREADList tags via GET /tags
intercom_get_tags_by_tag_idREADFind tag via GET /tags/{tag_id}
intercom_get_teamsREADList teams via GET /teams
intercom_get_teams_by_team_idREADRetrieve team via GET /teams/{team_id}
intercom_get_teams_by_team_id_metricsREADGet team metrics via GET /teams/{team_id}/metrics
intercom_get_ticket_statesREADList ticket states via GET /ticket_states
intercom_get_ticket_typesREADList ticket types via GET /ticket_types
intercom_get_ticket_types_by_ticket_type_idREADGet ticket type via GET /ticket_types/{ticket_type_id}
intercom_get_tickets_by_ticket_idREADGet ticket via GET /tickets/{ticket_id}
intercom_get_visitorsREADRetrieve visitor with user id via GET /visitors
intercom_patch_data_connectors_by_idWRITEUpdate data connector via PATCH /data_connectors/{id}
intercom_post_admins_activity_logs_searchWRITESearch activity logs via POST /admins/activity_logs/search
intercom_post_ai_content_import_sourcesWRITECreate content import source via POST /ai/content_import_sources
intercom_post_ai_external_pagesWRITECreate external page via POST /ai/external_pages
intercom_post_articlesWRITECreate article via POST /articles
intercom_post_articles_by_article_id_tagsWRITEAttach tag to article via POST /articles/{article_id}/tags
intercom_post_articles_by_id_draft_publishWRITEPublish article draft via POST /articles/{id}/draft/publish
intercom_post_audiencesWRITECreate audience via POST /audiences
intercom_post_calls_searchWRITEList calls with transcripts via POST /calls/search
intercom_post_companiesWRITECreate or update company via POST /companies
intercom_post_companies_by_company_id_notesWRITECreate company note via POST /companies/{company_id}/notes
intercom_post_companies_listWRITEList all companies via POST /companies/list
intercom_post_contactsWRITECreate contact via POST /contacts
intercom_post_contacts_by_contact_id_archiveWRITEArchive contact via POST /contacts/{contact_id}/archive
intercom_post_contacts_by_contact_id_blockWRITEBlock contact via POST /contacts/{contact_id}/block
intercom_post_contacts_by_contact_id_companiesWRITEAttach contact to a company via POST /contacts/{contact_id}/companies
intercom_post_contacts_by_contact_id_notesWRITECreate note via POST /contacts/{contact_id}/notes
intercom_post_contacts_by_contact_id_subscriptionsWRITEAttach subscription type to contact via POST /contacts/{contact_id}/subscriptions
intercom_post_contacts_by_contact_id_tagsWRITEAttach tag to contact via POST /contacts/{contact_id}/tags
intercom_post_contacts_by_contact_id_unarchiveWRITEUnarchive contact via POST /contacts/{contact_id}/unarchive
intercom_post_contacts_by_id_banners_by_view_id_dismissWRITEDismiss contact banner via POST /contacts/{id}/banners/{view_id}/dismiss
intercom_post_contacts_mergeWRITEMerge contact via POST /contacts/merge
intercom_post_contacts_searchWRITESearch contacts via POST /contacts/search
intercom_post_content_bulk_actionsWRITEBulk content actions via POST /content/bulk_actions
intercom_post_content_snippetsWRITECreate content snippet via POST /content_snippets
intercom_post_content_snippets_by_content_snippet_id_tagsWRITEAttach tag to content snippet via POST /content_snippets/{content_snippet_id}/tags
intercom_post_conversationsWRITECreate conversation via POST /conversations
intercom_post_conversations_attributesWRITECreate conversation attribute via POST /conversations/attributes
intercom_post_conversations_attributes_by_id_optionsWRITECreate conversation attribute option via POST /conversations/attributes/{id}/options
intercom_post_conversations_by_conversation_id_convertWRITEConvert conversation to ticket via POST /conversations/{conversation_id}/convert
intercom_post_conversations_by_conversation_id_customersWRITEAttach contact to conversation via POST /conversations/{conversation_id}/customers
intercom_post_conversations_by_conversation_id_partsWRITEManage conversation via POST /conversations/{conversation_id}/parts
intercom_post_conversations_by_conversation_id_replyWRITEReply conversation via POST /conversations/{conversation_id}/reply
intercom_post_conversations_by_conversation_id_tagsWRITEAttach tag to conversation via POST /conversations/{conversation_id}/tags
intercom_post_conversations_by_id_mergeWRITEMerge conversation via POST /conversations/{id}/merge
intercom_post_conversations_redactWRITERedact conversation via POST /conversations/redact
intercom_post_conversations_searchWRITESearch conversations via POST /conversations/search
intercom_post_custom_object_instances_by_custom_object_type_identifierWRITECreate custom object instances via POST /custom_object_instances/{custom_object_type_identifier}
intercom_post_data_attributesWRITECreate data attribute via POST /data_attributes
intercom_post_data_connectorsWRITECreate data connector via POST /data_connectors
intercom_post_eventsWRITECreate data event via POST /events
intercom_post_events_summariesWRITEData event summaries via POST /events/summaries
intercom_post_export_cancel_by_job_identifierWRITECancel data export via POST /export/cancel/{job_identifier}
intercom_post_export_content_dataWRITECreate data export via POST /export/content/data
intercom_post_export_reporting_data_enqueueWRITEIntercom post export reporting data enqueue via POST /export/reporting_data/enqueue
intercom_post_fin_csatWRITESubmit fin csat via POST /fin/csat
intercom_post_fin_replyWRITEReply to fin via POST /fin/reply
intercom_post_fin_startWRITEStart fin conversation via POST /fin/start
intercom_post_fin_voice_registerWRITERegister fin voice call via POST /fin_voice/register
intercom_post_help_center_collectionsWRITECreate collection via POST /help_center/collections
intercom_post_help_center_help_centers_by_help_center_id_redirectsWRITECreate help center redirect via POST /help_center/help_centers/{help_center_id}/redirects
intercom_post_internal_articlesWRITECreate internal article via POST /internal_articles
intercom_post_internal_articles_by_internal_article_id_tagsWRITEAttach tag to internal article via POST /internal_articles/{internal_article_id}/tags
intercom_post_messagesWRITECreate message via POST /messages
intercom_post_news_news_itemsWRITECreate news item via POST /news/news_items
intercom_post_office_hours_schedulesWRITECreate office hours schedule via POST /office_hours_schedules
intercom_post_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptionsWRITECreate office hours exception via POST /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions
intercom_post_phone_call_redirectsWRITECreate phone switch via POST /phone_call_redirects
intercom_post_tagsWRITECreate tag via POST /tags
intercom_post_ticket_typesWRITECreate ticket type via POST /ticket_types
intercom_post_ticket_types_by_ticket_type_id_attributesWRITECreate ticket type attribute via POST /ticket_types/{ticket_type_id}/attributes
intercom_post_ticketsWRITECreate ticket via POST /tickets
intercom_post_tickets_by_ticket_id_change_typeWRITEChange ticket type via POST /tickets/{ticket_id}/change_type
intercom_post_tickets_by_ticket_id_linked_conversationsWRITELink conversation to ticket via POST /tickets/{ticket_id}/linked_conversations
intercom_post_tickets_by_ticket_id_replyWRITEReply ticket via POST /tickets/{ticket_id}/reply
intercom_post_tickets_by_ticket_id_tagsWRITEAttach tag to ticket via POST /tickets/{ticket_id}/tags
intercom_post_tickets_enqueueWRITEEnqueue create ticket via POST /tickets/enqueue
intercom_post_tickets_searchWRITESearch tickets via POST /tickets/search
intercom_post_visitors_convertWRITEConvert visitor via POST /visitors/convert
intercom_put_admins_by_admin_id_awayWRITESet away admin via PUT /admins/{admin_id}/away
intercom_put_ai_content_import_sources_by_source_idWRITEUpdate content import source via PUT /ai/content_import_sources/{source_id}
intercom_put_ai_external_pages_by_page_idWRITEUpdate external page via PUT /ai/external_pages/{page_id}
intercom_put_articles_by_article_idWRITEUpdate article via PUT /articles/{article_id}
intercom_put_articles_by_id_draftWRITEStage article draft via PUT /articles/{id}/draft
intercom_put_audiences_by_idWRITEUpdate audience via PUT /audiences/{id}
intercom_put_companies_by_company_idWRITEUpdate company via PUT /companies/{company_id}
intercom_put_contacts_by_contact_idWRITEUpdate contact via PUT /contacts/{contact_id}
intercom_put_content_snippets_by_idWRITEUpdate content snippet via PUT /content_snippets/{id}
intercom_put_conversations_attributes_by_idWRITEUpdate conversation attribute via PUT /conversations/attributes/{id}
intercom_put_conversations_attributes_by_id_options_by_option_idWRITEUpdate conversation attribute option via PUT /conversations/attributes/{id}/options/{option_id}
intercom_put_conversations_by_conversation_idWRITEUpdate conversation via PUT /conversations/{conversation_id}
intercom_put_data_attributes_by_data_attribute_idWRITEUpdate data attribute via PUT /data_attributes/{data_attribute_id}
intercom_put_help_center_collections_by_collection_idWRITEUpdate collection via PUT /help_center/collections/{collection_id}
intercom_put_internal_articles_by_internal_article_idWRITEUpdate internal article via PUT /internal_articles/{internal_article_id}
intercom_put_ip_allowlistWRITEUpdate ip allowlist via PUT /ip_allowlist
intercom_put_news_news_items_by_news_item_idWRITEUpdate news item via PUT /news/news_items/{news_item_id}
intercom_put_office_hours_schedules_by_idWRITEUpdate office hours schedule via PUT /office_hours_schedules/{id}
intercom_put_office_hours_schedules_by_office_hours_schedule_id_office_hours_exceptions_by_idWRITEUpdate office hours exception via PUT /office_hours_schedules/{office_hours_schedule_id}/office_hours_exceptions/{id}
intercom_put_ticket_types_by_ticket_type_idWRITEUpdate ticket type via PUT /ticket_types/{ticket_type_id}
intercom_put_ticket_types_by_ticket_type_id_attributes_by_attribute_idWRITEUpdate ticket type attribute via PUT /ticket_types/{ticket_type_id}/attributes/{attribute_id}
intercom_put_tickets_by_ticket_idWRITEUpdate ticket via PUT /tickets/{ticket_id}
intercom_put_visitorsWRITEUpdate visitor via PUT /visitors
Put Intercom behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.