Connect your tools with extensions

Extensions connect Commslayer to the tools we don't integrate with, like a tracking app, your warehouse or your own backend. Your team sees their data next to every conversation and can change it with one click. Your AI agent can use them too.

Every extension is a custom action. The difference is where it shows. A custom action on AI agent → Actions is one your AI agent runs. An extension can show in the sidebar, as a button, in automations, for the AI agent, or all of them.

New to custom actions? Start with Connect AI agent to external systems with custom actions →


Where to find extensions

Go to Settings → Extensions.

The page lists every custom action in your account, including the ones the AI agent doesn't use. Filter by Lookup or Change. For each extension you see:

  • Kind: Lookup reads data. Change changes something in your tool.
  • Where it shows: AI agent, Sidebar card, Button on a lookup's card, and Automations when an active automation rule runs it.
  • On: turn the extension on or off.

Click an extension to open the full editor.


Add an extension

Start from a template

Templates fill in the URL, headers, parameters and body for you. You only add your key or your webhook URL.

  1. Click Templates, or pick a tile when the page is empty.
  2. Pick a template.
  3. Add what the banner asks for, like your API key or your webhook URL. Save stays locked until it's done.
  4. Pick where it shows and click Save.
Template What it does What you add
AfterShip tracking Carrier status and delivery dates for a tracking number API key
ParcelPanel tracking Shipment status for an order number API key
ShipBob order status Whether an order is still in the warehouse or has shipped Personal access token
ShipStation order status Whether an order is awaiting shipment or has shipped API key and secret
Slack alert Posts a message to a Slack channel Incoming webhook URL
Zapier webhook Starts a Zap with the details from a conversation Catch Hook URL
Make webhook Starts a Make scenario with the details from a conversation Custom webhook URL
Airtable row Adds a row to an Airtable table Access token and table URL

Good to know:

  • Lookup templates come with a sidebar card and only pass the fields the AI agent needs.
  • The URL has to be the provider's. A Slack template only saves with a Slack webhook URL, and so on.
  • Airtable: paste the table URL from your browser. Commslayer turns it into the API URL. The body fills the columns Summary, Customer, Email and Conversation, so match them to your table.
  • Slack alerts run without approval. The other change templates wait for a teammate's approval until you turn that off.

Start blank

  1. Click New extension.
  2. Fill in the Name, pick Looks up data or Changes data, and add the method and URL.
  3. Pick where it shows and click Save.

The full editor opens next, so you can add headers, parameters and the card fields.


Where it shows

  • Conversation sidebar (lookups): the result shows as a card next to the conversation.
  • AI agent: your AI agent runs it when a conversation needs it. Tell it When should the AI agent use it. Turn it off to keep the extension for your team only.
  • Automations (changes): add Run custom action to an automation rule.
  • Button on a lookup's card (changes): see Add buttons.

An extension with the AI agent on also shows on AI agent → Actions → Custom actions. Turn the AI agent off and it's only on Settings → Extensions.


A lookup shows its result as a card under Extensions in the conversation sidebar.

  1. Open a lookup on Settings → Extensions.
  2. Click Test so Commslayer knows which fields the response has.
  3. Open Sidebar card and turn on Show in the conversation sidebar.
  4. Set up the card (see below) and click Save.

Card settings

  • Card title: the name your team sees, like "Warranty" or "Repair ticket".
  • Card type: Automatic works for most data. Order, Shipment, Subscription, Return and Loyalty lay the card out for that kind of data.
  • Fields to show: pick fields from the response and give each a Label. On a typed card, set what each field means under Meaning, like Status, Tracking number or Next charge.
    • Link shows the field as an Open button.
    • Image shows picture URLs as thumbnails.

Where the lookup gets its values

If the lookup needs a value, like an email or an order number, pick where the card gets it under Where the lookup gets its values:

  • Customer email or Customer phone from the contact.
  • Latest order number from the customer's latest Shopify order.
  • Contact attribute or Conversation attribute, by its key.
  • Ask the agent: the card shows a field and a Look up button, and your teammate types the value.

Add buttons

Buttons run a change extension, using values from the card.

  1. Create the change first, like "Extend warranty" or "Close repair ticket".
  2. Open the lookup's Sidebar card and click Add button under Buttons.
  3. Set the Button label and pick the Change action to run.
  4. Pick where each of its values comes from:
    • From the lookup: a field from the card's data, like the ticket ID.
    • Agent types it: your teammate fills it in when they click. Set the Label agents see.
    • Fixed value: the same value every time.
  5. Click Save.

Who clicked: a button fills {{agent.name}} and {{agent.email}} with the teammate who clicked it. Use them in the change's URL or body, for example to show who created an issue in your tool.

What happens when your team clicks

  • A button with typed values opens a small form first.
  • Any other button asks to confirm: "This changes data in your connected app".
  • It runs right away. Ask a human before running only applies to the AI agent. A teammate who clicks a button is the human.
  • The result shows on the card: "{button} is done", or "{button} didn't work" with the reason.

Good to know

  • Results are kept for 5 minutes. Click Refresh on a card to load it again.
  • Hide a card you don't need. Click Hide card. It's hidden only for you, and Show hidden cards brings it back.
  • No cards, no section. If no card is set up, Extensions doesn't show in the sidebar.
  • Turned off extensions don't show. A card only shows while its lookup is on, and a button only works while its change is on.
  • Only admins and managers can open Settings → Extensions.

Example: Warranty card

Scenario: You keep warranties in your own system. Your team wants to see the warranty next to each conversation and extend it without leaving Commslayer.

Lookup

  • Name: Look up warranty
  • Kind: Looks up data
  • Method: GET
  • URL: https://api.example.com/warranties?email={{customer.email}}
  • Where it shows: Conversation sidebar, with the title "Warranty" and the fields product, status and expires_at

Change

  • Name: Extend warranty
  • Kind: Changes data
  • Method: POST
  • URL: https://api.example.com/warranties/{{warranty_id}}/extend
  • Parameters: warranty_id (String), months (Integer)
  • Body: {"months": {{months}}, "extended_by": "{{agent.name}}"}

Button on the Warranty card: label "Extend warranty", warranty_id From the lookup (id), months Agent types it with the label "Months".

Result: Every conversation shows the customer's warranty. Your teammate clicks Extend warranty, types 6, and the card shows "Extend warranty is done". Your system records who extended it.


Troubleshooting

Card not showing?

  • Check the extension is a Lookup. Changes only show as buttons.
  • Check Show in the conversation sidebar is on and the extension is on.
  • Check you didn't hide it. Look for Show hidden cards under Extensions.
  • Cards load when you open a conversation. Open it again after you save.

Can't save a template?

  • Read the banner. It says what's missing, like the API key or the webhook URL.
  • Check the URL is from the provider. Copy it from the provider's app, not from somewhere else.

Card says "Nothing found for this customer"?

  • The lookup ran but returned nothing. Check the value it looks up with, like the customer's email or order number.

Card says it couldn't be loaded?

  • The request failed. Click Test in the editor to see the status code and the error.

Card asks for a value every time?

  • That value is set to Ask the agent. Pick Customer email, Latest order number or an attribute instead.

Button didn't work?

  • The card shows the reason. Click Test on the change to see the full response.