Embed guide
Add a live calendar to any website in under 60 seconds.
Quick start
Paste the embed snippet from your dashboard into your HTML where you want the calendar to appear. You can find the snippet under Feeds → Widget → Get embed code.
<script src="https://embedacal.com/widget/v2/embedacal.js" defer></script>
<embedacal-widget feed-id="ks78qwyw..."></embedacal-widget>The feed-id is automatically set in the snippet from your dashboard. Theme, default view, and events per page are all configured in the widget settings panel — no need to set them in the HTML.
Embed modes
Single feed
Display events from one calendar feed (this is the default when you copy the embed code):
<embedacal-widget feed-id="ks78qwyw..."></embedacal-widget>All feeds (combined)
Show events from all your feeds merged together:
<embedacal-widget org="my-org"></embedacal-widget>Custom feed (Pro)
Display a filtered subset of events:
<embedacal-widget org="my-org" custom="downtown-events"></embedacal-widget>React
// Add the script tag to your _app.tsx or layout
<Script src="https://embedacal.com/widget/v2/embedacal.js" strategy="lazyOnload" />
// Use the web component anywhere
<embedacal-widget feed-id="ks78qwyw..." />
// TypeScript: declare the custom element
declare global {
namespace JSX {
interface IntrinsicElements {
'embedacal-widget': React.DetailedHTMLProps<
React.HTMLAttributes<HTMLElement> & {
'feed-id'?: string;
org?: string;
custom?: string;
'base-url'?: string;
},
HTMLElement
>;
}
}
}WordPress
Add a Custom HTML block to any page or post:
<script src="https://embedacal.com/widget/v2/embedacal.js" defer></script>
<embedacal-widget feed-id="ks78qwyw..."></embedacal-widget>Attributes
| Attribute | Type | Description |
|---|---|---|
| feed-id | string | Feed ID for single-feed mode (from your dashboard) |
| org | string | Org slug for combined or custom feed mode |
| custom | string | Custom feed slug (requires org) |
| base-url | string | API base URL (auto-detected from script src) |
| disable-styles | boolean | Strip all default CSS for full custom styling |
Note: Theme, default view, and events per page are configured in the dashboard widget settings and no longer need to be set as HTML attributes.