# Frigade > ## Documentation Index --- # Source: https://docs.frigade.com/integrations/amplitude.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Amplitude Frigade supports sending events to Amplitude. The following guide will help you set up this integration in just a few steps. ## Sending Frigade events to Amplitude You can set up Frigade to send events to Amplitude when your users take actions in your Flows. The event types and data schema is identical to the events sent in [Frigade Webhooks](/api-reference/webhooks). Log in to your Amplitude account, open the settings menu, and select **Organization settings**. Select the **Projects** tab and copy the API Key for the project you want to send events to. Do not copy the secret API key as only the public API key is required. Open the **Integrations** page in Frigade and select **Amplitude**. Paste the API key you copied in step 1 and click **Save**. If the integration is enabled, events will start streaming to Amplitude immediately. Open the dashboard for the project you selected in step 1 and take some action in any given Frigade Flow such as completing a step. You should see events starting to stream from Frigade in the **Realtime event stream** widget: ## Sending Amplitude data to Frigade Bidirectional read/write to Amplitude is not yet available on all Frigade plans. If you're interested in this feature, please [get in touch](mailto:support@frigade.com). --- # Source: https://docs.frigade.com/platform/analytics.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Analytics > Frigade provides analytics and connects to external analytics platforms ## Built-in Analytics *** Frigade provides built-in funnel analysis to help you understand the performance of your Flows. Frigade will automatically track how many users have interacted with a Flow and how many have completed it. You can also see how many users have dismissed or quit a Flow. Analytics ### Flow cohorts Frigade analytics are based on user cohorts. Frigade will group users into daily cohorts based on the date they first interacted with the Flow. You can see detailed breakdowns by hovering on any given day in the graph. Statuses include completing the Flow, dismissing or quitting the Flow, or not yet completing the Flow. ### Time windows You can change the time range for the stats by clicking on the dropdown in the top right corner of the analytics page. You can choose between `Last 7 days`, `Last 30 days`, or `All time`. The metrics on the right side represent the totals for the selected time window, and the graph and step completion rates below will also adjust to the selected time window. ### Flow versions Each time a new [version](/platform/versioning) of a Flow is published it will its own analytics. This allows you to review the performance of different versions of the same Flow over time. ## External Analytics *** You can send Frigade tracking events to an external analytics platform for dashboards and reporting. Check out the [integrations](/integrations/) section to see our supported platforms. Additionally, you can always connect Frigade to the analytics platform of your choice using webhooks. See the [webhooks](/api-reference/webhooks) documentation for more information. Groups --- # Source: https://docs.frigade.com/component/announcement.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Announcement > Communicate information or drive action via modal-based announcements ## About this component The `Announcement` component is a flexible communication tool that’s perfect for sharing important information or driving user action. They’re especially effective for getting the word out about new feature launches, upcoming webinars, or welcoming users to new areas of your product. **When to Use Announcements:** * **Key Communications:** Use announcements to highlight significant updates or events that need immediate user attention. * **Transactional Flows:** They’re also great for welcoming users or guiding them to explore new features, like kicking off a product tour. **Advantages of Announcements:** * **Grab Attention:** Announcements often interrupt workflows in a way that demands attention, making sure users don’t miss out on important info. * **Visual Impact:** You have ample space for visual assets (videos, images, GIF), which can help draw users in and keep the message engaging. **Best Practices for Effective Announcements:** * **Limit Frequency:** To avoid overwhelming users, try to keep announcements to once a session per user, and ideally once a week. This helps maintain their impact and prevents the dreaded “wack-a-mole” effect. * **Be Concise:** Keep your messages short and to the point. The easier they are to digest, the more likely users will engage with them. * **Target Your Audience:** Make sure your announcements are relevant and reach the right people by targeting on user properties, events and other signals. * **Clear Calls to Action:** Use actionable phrases like “Learn more” and direct links over passive language like "Got it" or "Okay". * **Utilize Collections:** Use Frigade Collections to manage in-app UI channels effectively, ensuring that only one announcement is displayed at a time. * **Less Critical Info:** For non-essential information, consider launching announcements in the corner of the screen without background blurs for a subtler touchpoint. ## Resources * [Launch announcements](/platform/collections#launch-with-collections) in minutes with no-code via Collections * Target your announcement to specific users with [Targeting](/platform/targeting) ## Demo * See announcements in action in our [live demo](https://demo.frigade.com/modals) ## Installation ```tsx theme={"system"} import * as Frigade from '@frigade/react'; const App = () => { return ( ); }; ``` Announcements can be be deployed with no-code using [Collections](/platform/collections). ## Customization To learn about how to customize Frigade components, see the [customization documentation](/sdk/styling/) and [examples](https://demo.frigade.com) of custom themes in action. ## SDK Properties Optional component to wrap the child components in, e.g. `as={Dialog}` will render the Flow in a modal Dialog. Defaults to `Box`. Whether to automatically mark the Flow started (i.e. in progress) when the Flow is eligible to be shown. You will need to call `flow.start()` or `step.start()` from the parent component if you set this to `false`. Most components should not need to override this behavior. Defaults to `true`. Emotion CSS prop to apply to the component. See [Theming documentation](https://docs.frigade.com/v2/sdk/styling/css-overrides) for more information. Example usage: ``` ``` Whether the Flow is dismissible or not The Flow ID to render. You can find the Flow ID in the Frigade dashboard. If true, the Flow will be mounted even if it has already been completed or dismissed. However, if the user does not match the Flow's targeting, the Flow will not be mounted. Register the Flow as a modal to prevent popup collisions (only one modal Flow will render at a time). Event handler called when auto-focusing on close. Can be prevented. Handler for when the Flow is completed. This is event is fired immediately after the user completes the Flow. Handler for when the Flow is dismissed (skipped). This is event is fired immediately after the user dismisses the Flow. Event handler called when the escape key is down. Can be prevented. Event handler called when an interaction happens outside the `DismissableLayer`. Specifically, when a `pointerdown` event happens outside or focus moves outside of it. Can be prevented. Event handler called when auto-focusing on open. Can be prevented. Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`. Can be prevented. Handler for when primary button is clicked. If this function returns false or a promise that resolves to `false`, the step will not be automatically completed when clicked. Handler for when secondary button is clicked. If this function returns false or a promise that resolves to `false`, the step will not be automatically completed when clicked. Variables to pass to the Flow. You can use variables in the Flow configuration to customize copy. For instance, you can use `title: Hello, ${name}!` in the Flow configuration and pass `variables={{name: 'John'}}` to customize the copy. The individual steps/pages of the announcement Unique identifier for the step. Do not change this once the step has been created. The title of the step The description of the step Url to an image to display in the step Url to an icon to display in the step. This is only supported by the carousel checklist component. Url to a video to display in the step such as YouTube, Vimeo, or a direct link to an mp4 file Config for the primary button in this step. Primary button action. (defaults to step.complete).
**Possible values:** `false`, `flow.back`, `flow.complete`, `flow.forward`, `flow.restart`, `flow.skip`, `flow.start`, `step.complete`, `step.skip`, `step.reset`, `step.start`
Primary button URI target (defaults to \_self). Primary button title. If omitted, the primary button will not be shown. Primary button URI. **Deprecated**: use `primaryButton.title` instead. The title of the primary button **Deprecated**: use `primaryButton.uri` instead. The url to open when the primary button is clicked **Deprecated**: use `primaryButton.target` instead. The target of the primary button url (default: \_blank; use \_self to open in the same window). Setting it to # will open the existing page and dismiss any Frigade modals. Config for the secondary button in this step. Secondary button action. (defaults to step.complete).
**Possible values:** `false`, `flow.back`, `flow.complete`, `flow.forward`, `flow.restart`, `flow.skip`, `flow.start`, `step.complete`, `step.skip`, `step.reset`, `step.start`
Secondary button URI target (defaults to \_self). Secondary button title. If omitted, the secondary button will not be shown. Secondary button URI. **Deprecated**: use `secondaryButton.title` instead. The title of the secondary button **Deprecated**: use `secondaryButton.uri` instead. The url to open when the secondary button is clicked **Deprecated**: use `secondaryButton.target` instead. The target of the secondary button url (default: \_blank; use \_self to open in the same window). Setting it to # will open the existing page and dismiss any Frigade modals. Targeting that automatically completes the step. E.g.: user.property('connectedBank') == true Targeting that automatically blocks the step from starting until it becomes true. E.g.: user.property('connectedBank') == true Targeting that automatically shows the step when it becomes true. E.g.: user.property('connectedBank') == true Override the default UI props for the corresponding component
--- # Source: https://docs.frigade.com/guides/announcements.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Guide: Product Announcements ## Targeting announcements You can target [announcements](/component/announcement) to specific groups of users using the [Targeting](/platform/targeting) section on the flow detail page. By default, an announcement will show up for all users once the flow code is live in production. ## Launching additional announcements without code changes We recommend using the [Dialogs Collection](/platform/collections) to launch new announcements without updating your product codebase. The Dialogs Collection is built-in to the Frigade SDK and can be used to launch Frigade Announcements, Surveys, and other Dialog-based components. ## Launching another Flow from an Announcement You may want to launch another Flow when a user clicks on the primary button of a different Flow. For example, you can launch a tour Flow when a user clicks on the primary button of an announcement. You can achieve this my modifying the [Targeting](/platform/targeting) of the tour Flow directly in the Frigade dashboard, locating the given announcement under **Flows** and selecting **Completed** (typically initiated by the primary button) or **Dismissed** (if the user clicks the X button in the announcement). --- # Source: https://docs.frigade.com/api-reference/authorization.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # API Authorization The Frigade API is secured using authorization tokens. These api keys are used to authenticate your requests to the API. You can create and manage your api keys in the [Frigade Dashboard](https://app.frigade.com/developer). Frigade provides two scopes of API keys: public and private. Below, we describe the differences between the two. ## Public API keys This key can be exposed publicly (i.e. in your frontend code) and is used to access the public API endpoints. These endpoints are prefixed with the `public` namespace in the API url (e.g. `https://api.frigade.com/v1/public/flows`). ## Private API keys This key should be kept secret and is used to access the private API endpoints. It can be used to both access public and private API endpoints. ## Sample API request The key should be passed in the `Authorization: Bearer ` header. For example, to access the list of available flows in your account, you would make the following request: ```bash theme={"system"} curl -i -X GET \ -H "Authorization:Bearer api_public_J3FNG3dJASDKLW98SN4KLOJHNTYUFGNVSK" \ 'https://api.frigade.com/v1/public/flows' ``` --- # Source: https://docs.frigade.com/component/banner.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Banner > Communicate information or drive action via in-line banners ## About this component The `Banner` component is a versatile, persistent UI component that typically span the full width of a page or container, often at the top or bottom of the page. They serve as an unobtrusive way to communicate important information and promote additional offerings without disrupting the user’s workflow. **When to use Banners:** * **Alerts:** Ideal for notifying users about critical updates, such as free trial expirations or scheduled maintenance. * **Lightweight Up-sells:** Effective for promoting related products or features, banners can be strategically targted and placed next to relevant content. **Advantages of Banners:** * **Non-Disruptive Communication:** Since banners remain visible without interrupting the user experience, they allow users to continue their tasks while still being informed. * **Flexible Design Options:** Banners can be customized with full-bleed graphics and images, making them visually appealing and engaging. Frigade supports custom components including on-brand, eye-catching banners. **Best Practices for Banners:** * **Use Collections:** Leverage Collections to define reusable in-app UI channels, enabling teams to efficiently manage and launch banners across different pages, such as your product dashboard or a specific product pages. * **Regulate Frequency:** Control the frequency of banner displays to ensure they remain relevant and engaging without overwhelming users. * **Make Dismissible:** Most often, banners are easily dismissible for the best user expeirence. In select cases, banners may be non-dismissible to communicate a critical message for some time (e.g. product downtime). ## Resources * Launch banners with no-code using custom [Collections](/platform/collections#inline-ui-components) * Target your banner to specific users with [Targeting](/platform/targeting) * See [industry examples](https://www.productonboarding.com/?type=banner) of banners ## Demo * See banners in action in our [live demo](https://demo.frigade.com/cards) ## Installation ```tsx theme={"system"} import * as Frigade from '@frigade/react'; const App = () => { return ( ); }; ``` Banners can be be deployed with no-code using [Collections](/platform/collections). ## Customization To learn about how to customize Frigade components, see the [customization documentation](/sdk/styling/) and [examples](https://demo.frigade.com) of custom themes in action. ## SDK Properties Optional component to wrap the child components in, e.g. `as={Dialog}` will render the Flow in a modal Dialog. Defaults to `Box`. Whether to automatically mark the Flow started (i.e. in progress) when the Flow is eligible to be shown. You will need to call `flow.start()` or `step.start()` from the parent component if you set this to `false`. Most components should not need to override this behavior. Defaults to `true`. Emotion CSS prop to apply to the component. See [Theming documentation](https://docs.frigade.com/v2/sdk/styling/css-overrides) for more information. Example usage: ``` ``` Whether the Flow is dismissible or not The Flow ID to render. You can find the Flow ID in the Frigade dashboard. If true, the Flow will be mounted even if it has already been completed or dismissed. However, if the user does not match the Flow's targeting, the Flow will not be mounted. Register the Flow as a modal to prevent popup collisions (only one modal Flow will render at a time). Handler for when the Flow is completed. This is event is fired immediately after the user completes the Flow. Handler for when the Flow is dismissed (skipped). This is event is fired immediately after the user dismisses the Flow. Handler for when primary button is clicked. If this function returns false or a promise that resolves to `false`, the step will not be automatically completed when clicked. Handler for when secondary button is clicked. If this function returns false or a promise that resolves to `false`, the step will not be automatically completed when clicked. Variables to pass to the Flow. You can use variables in the Flow configuration to customize copy. For instance, you can use `title: Hello, ${name}!` in the Flow configuration and pass `variables={{name: 'John'}}` to customize the copy. The steps to show in the tooltip tour. Unique identifier for the step. Do not change this once the step has been created. The title of the step The description of the step Url to an image to display in the step Url to an icon to display in the step. This is only supported by the carousel checklist component. Url to a video to display in the step such as YouTube, Vimeo, or a direct link to an mp4 file Config for the primary button in this step. Primary button action. (defaults to step.complete).
**Possible values:** `false`, `flow.back`, `flow.complete`, `flow.forward`, `flow.restart`, `flow.skip`, `flow.start`, `step.complete`, `step.skip`, `step.reset`, `step.start`
Primary button URI target (defaults to \_self). Primary button title. If omitted, the primary button will not be shown. Primary button URI. **Deprecated**: use `primaryButton.title` instead. The title of the primary button **Deprecated**: use `primaryButton.uri` instead. The url to open when the primary button is clicked **Deprecated**: use `primaryButton.target` instead. The target of the primary button url (default: \_blank; use \_self to open in the same window). Setting it to # will open the existing page and dismiss any Frigade modals. Config for the secondary button in this step. Secondary button action. (defaults to step.complete).
**Possible values:** `false`, `flow.back`, `flow.complete`, `flow.forward`, `flow.restart`, `flow.skip`, `flow.start`, `step.complete`, `step.skip`, `step.reset`, `step.start`
Secondary button URI target (defaults to \_self). Secondary button title. If omitted, the secondary button will not be shown. Secondary button URI. **Deprecated**: use `secondaryButton.title` instead. The title of the secondary button **Deprecated**: use `secondaryButton.uri` instead. The url to open when the secondary button is clicked **Deprecated**: use `secondaryButton.target` instead. The target of the secondary button url (default: \_blank; use \_self to open in the same window). Setting it to # will open the existing page and dismiss any Frigade modals. Targeting that automatically completes the step. E.g.: user.property('connectedBank') == true Targeting that automatically blocks the step from starting until it becomes true. E.g.: user.property('connectedBank') == true Targeting that automatically shows the step when it becomes true. E.g.: user.property('connectedBank') == true Override the default UI props for the corresponding component
--- # Source: https://docs.frigade.com/guides/cards-video-demo.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.frigade.com/llms.txt > Use this file to discover all available pages before exploring further. # Guide: Cards and Banners > In this video, we show you how to build a GitHub style embedded card.