Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Intercom

Create contacts, send messages, and manage conversations in Intercom.

Customer supportOAuth22 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (22)
  4. find-conversation
  5. send_message
  6. add-note-to-user
  7. add-or-remove-tag-on-company
  8. add-or-remove-tag-on-contact
  9. add-or-remove-tag-on-conversation
  10. addNoteToConversation
  11. assignConversationAction
  12. create-article
  13. create-conversation
  14. create-or-update-lead
  15. create-or-update-user
  16. create-ticket
  17. create-user
  18. custom_api_call
  19. find-company
  20. find-lead
  21. find-user
  22. get-conversation
  23. list-all-tags
  24. replyToConversation
  25. update-ticket
  26. Details

Connect

Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.

OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.

  • In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
  • For every project in a workspace: Workspace settings, Integrations.
  • Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.

Call it from a workflow

Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.

Native workflow
// .workflow.js (native ctx)
export async function run(ctx) {
  const res = await ctx.integrations.invoke("intercom", "find-conversation", {
    "searchField": "id",
    "matchType": "contains",
    "searchTerm": "<search term>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Intercom answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "intercom-find-conversation",
  name: "Intercom: Find Conversation",
  description: "Calls Intercom when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("intercom", {
      "action": "find-conversation",
      "searchField": "id",
      "matchType": "contains",
      "searchTerm": "<search term>"
    }) as { success: boolean; error?: string };
    if (!res.success) throw new Error(res.error);
  },
});
From an app (connector proxy)
curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/intercom/find-conversation" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"searchField":"id","matchType":"contains","searchTerm":"<search term>"}}'

Actions

find-conversationin catalog

Find Conversation. Searches for conversations using various criteria

Also accepted as findConversation.

InputTypeDescription
searchFieldrequiredone of "id" | "source.subject" | "source.body" | "source.author.email" | "admin_assignee_id" | "team_assignee_id" | "tag_ids"Search Field
matchTyperequiredone of "contains" | "equals" | "starts_with"Match Type
searchTermrequiredtextSearch Term
statusoptionalone of "open" | "closed"Status
updateAfteroptionaldate-time (ISO)Update After
updateBeforeoptionaldate-time (ISO)Update Before

send_messagein catalog

Send Message. Send a message to a contact (only allowed by admins)

InputTypeDescription
message_typerequiredone of "email" | "inapp"Message Type
email_required_fieldsrequiredobject (depends on other props)Email Required Fields
fromrequiredid (picked from your account)From (Admin)
torequiredid (picked from your account)To
bodyrequiredtextMessage Body
create_conversation_without_contact_replyoptionalbooleanWhether a conversation should be opened in the inbox for the message without the contact replying. Defaults to false if not provided.

add-note-to-user

Add Note. Add a note to a user

InputTypeDescription
emailrequiredtextEmail
bodyrequiredlong textNote Text

add-or-remove-tag-on-company

Add/Remove Tag on Company. Attach or remove a tag from a specific company.

InputTypeDescription
companyIdrequiredid (picked from your account)Company ID
tagNamerequiredtextTag Name
untagoptionalbooleanUntag ?

add-or-remove-tag-on-contact

Add/Remove Tag on Contact. Attach or remove a tag from a specific contact.

InputTypeDescription
contactIdrequiredid (picked from your account)Contact ID
tagIdrequiredid (picked from your account)Tag Name
untagoptionalbooleanUntag ?

add-or-remove-tag-on-conversation

Add/Remove Tag on Conversation. Attach or remove a tag from a specific conversation.

InputTypeDescription
conversationIdrequiredid (picked from your account)Conversation ID
tagIdrequiredid (picked from your account)Tag
untagoptionalbooleanUntag ?

addNoteToConversation

Add note to conversation. Add a note (for other admins) to an existing conversation

InputTypeDescription
fromrequiredid (picked from your account)From (Admin)
conversationIdrequiredid (picked from your account)Conversation ID
bodyrequiredtextMessage Body

assignConversationAction

Assign conversation to an admin or a team. (Re)assign conversation to a specific admin or team.

InputTypeDescription
fromrequiredid (picked from your account)From (Admin)
conversationIdrequiredid (picked from your account)Conversation ID
assigneeIdrequiredtextThe ID of the admin or team to assign this conversation to
bodyoptionaltextMessage Body

create-article

Create Article. Creates a new article in your Help Center.

InputTypeDescription
titlerequiredlong textTitle
descriptionoptionaltextDescription
bodyoptionallong textBody
authorIdrequiredid (picked from your account)Author
staterequiredone of "draft" | "published"State
collectionIdoptionalid (picked from your account)Parent Collection

create-conversation

Create Conversation. Creates a new conversation from a contact.

InputTypeDescription
contactTyperequiredone of "user" | "lead"Contact Type
contactIdrequiredid (picked from your account)Contact ID
bodyrequiredlong textMessage Body

create-or-update-lead

Create or Update Lead. Create or update an Intercom lead.If an ID is provided, the lead will be updated.

InputTypeDescription
leadIdoptionaltextLead ID
nameoptionaltextFull Name
emailoptionaltextEmail
phoneoptionaltextPhone
unsubscribeoptionalbooleanUnsubscribed From Emails
createdAtoptionaldate-time (ISO)Created At
customAttributesoptionalobjectCustom Attributes

create-or-update-user

Create/Update User. Update a user within intercom given an email address.

InputTypeDescription
emailrequiredtextLookup Email
nameoptionaltextFull Name
userIdoptionaltextUser ID
phoneoptionaltextPhone
createdAtoptionaldate-time (ISO)Created At
customAttributesoptionalobjectCustom Attributes

create-ticket

Create Ticket. Creates a new ticket.

InputTypeDescription
ticketTypeIdrequiredid (picked from your account)Ticket Type
contactIdrequiredid (picked from your account)Contact ID
companyIdoptionalid (picked from your account)Company ID
ticketPropertiesrequiredobject (depends on other props)Ticket Properties

create-user

Create User. Creates a new user.

InputTypeDescription
emailrequiredtextEmail
createdAtoptionaldate-time (ISO)Created At
userIdoptionaltextUser ID
nameoptionaltextFull Name
customAttributesoptionalobjectCustom Attributes

custom_api_call

Custom API Call. Make a custom API call to a specific endpoint

InputTypeDescription
urlrequiredobject (depends on other props)url
methodrequiredone of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD"Method
headersrequiredobjectAuthorization headers are injected automatically from your connection.
queryParamsrequiredobjectQuery Parameters
body_typeoptionalone of "none" | "json" | "form_data" | "raw"Body Type
bodyoptionalobject (depends on other props)Body
response_is_binaryoptionalbooleanEnable for files like PDFs, images, etc.
failsafeoptionalbooleanNo Error on Failure
timeoutoptionalnumberTimeout (in seconds)
followRedirectsoptionalbooleanFollow redirects

find-company

Find Company. Finds an existing company.

InputTypeDescription
searchFieldrequiredone of "name" | "company_id"Search Field
searchValuerequiredtextSearch Value

find-lead

Find Lead. Finds an existing lead.

InputTypeDescription
searchFieldrequiredone of "email" | "id" | "external_id"Search Field
searchValuerequiredtextSearch Value

find-user

Find User. Finds an existing user.

InputTypeDescription
searchFieldrequiredone of "email" | "id" | "external_id"Search Field
searchValuerequiredtextSearch Value

get-conversation

Retrieve a Conversation. Retrieves a specific conversation by ID.

InputTypeDescription
conversationIdrequiredid (picked from your account)Conversation ID

list-all-tags

List Tags. List all tags.

No input.

replyToConversation

Reply to conversation. Reply (as an admin) to a conversation with a contact

InputTypeDescription
fromrequiredid (picked from your account)From (Admin)
conversationIdrequiredid (picked from your account)Conversation ID
bodyrequiredtextMessage Body

update-ticket

Update Ticket. Updates an existing ticket.

InputTypeDescription
ticketTypeIdrequiredid (picked from your account)Ticket Type
ticketIdrequiredid (picked from your account)Ticket
ticketPropertiesrequiredobject (depends on other props)Ticket Properties
isOpenoptionalbooleanIs Open
stateoptionalone of "in_progress" | "waiting_on_customer" | "resolved"State
snoozedTilloptionaldate-time (ISO)Snoozed Until
assignedAdminIdoptionalid (picked from your account)Assigned Admin

Details

Id
intercom
Category
Customer support
Tags
support, messaging, crm, live-chat
Package
@activepieces/piece-intercom@0.7.0
Tier
Community

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (22)
  4. find-conversation
  5. send_message
  6. add-note-to-user
  7. add-or-remove-tag-on-company
  8. add-or-remove-tag-on-contact
  9. add-or-remove-tag-on-conversation
  10. addNoteToConversation
  11. assignConversationAction
  12. create-article
  13. create-conversation
  14. create-or-update-lead
  15. create-or-update-user
  16. create-ticket
  17. create-user
  18. custom_api_call
  19. find-company
  20. find-lead
  21. find-user
  22. get-conversation
  23. list-all-tags
  24. replyToConversation
  25. update-ticket
  26. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use