Plans and permissions:
- Add-on: AI agents, billed separately
- Change the launcher position in the chat agent’s settings: Admin, Manager, or Team Lead role, or a custom role with Chat agent settings set to Can edit chat agent settings
Use the launcher position settings to move the chat launcher, the button customers select to open the chat, to the corner of the page that suits your site. By default, it sits in the bottom-right corner. You might move it if it covers another fixed element, such as a cookie banner, a back-to-top button, or another support widget, or content customers need, such as a checkout button or a sticky footer. You might also want it on the other side to match your site’s layout.
To set it for every page, go to AI support > Chat agent, open the chat agent, and select the Themes tab.
How launcher position settings work
There are three ways to set the position:
| Method | Use it to | Applies to |
|---|---|---|
| Launcher position on the Themes tab | Set the default position | Every page where this chat agent is installed |
data-launcher-position in the script tag |
Use a different position on a page or template | Pages with that script tag |
window.assembled.setPosition() |
Move the launcher while the page is open, for example in response to something the user does | The current page, until it reloads |
- A script tag attribute overrides the Themes tab setting on its page, and
setPosition()overrides both. - If several methods set the position on one page, make sure they agree, or only use one.
- If you turn on Enable draggable launcher, customers can also drag the launcher to another spot.
Set the default position
- Go to AI support > Chat agent, and open the chat agent.
- Select the Themes tab.
- Under Launcher, choose a Launcher position: Top left, Top right, Bottom left, or Bottom right.
- Select Save changes.
Set the position on specific pages
Add data-launcher-position to the script tag on the pages or templates that need a different position:
<script
src="https://cal.assembledhq.com/static/js/public-chat.js"
data-company-id="YOUR_COMPANY_ID"
data-launcher-position="bottom-left"
></script>
Valid values are bottom-right, bottom-left, top-right, and top-left. To change the distance from the edges, add data-launcher-offset-x and data-launcher-offset-y, in pixels. The default for both is 10. For all script tag options, see Chat widget advanced setup.
Move the launcher with JavaScript
Use setPosition to move the launcher after the page has loaded, for example based on what the user is doing:
window.assembled.setPosition({
anchor: 'bottom-right', // 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
offsetX: 25, // px from horizontal edge
offsetY: 25 // px from vertical edge
});
Important: window.assembled isn’t available until the widget script has loaded. Calling setPosition too early causes an error such as Cannot read properties of undefined (reading 'setPosition'). Wait for the widget’s load event, or check window.assembled.isReady(), before you call it.
setPosition returns true when it moves the launcher, and false if the position would be outside the viewport, in which case the launcher stays where it was.
If the launcher doesn’t move where you expect, see The chat widget doesn’t appear or doesn’t show your changes.