{CODICTS} Snippets is now available

Canny.io Helper

The {CODICTS} Canny.io Helper plugin provides a WordPress shortcode that embeds a Canny.io feedback board widget on your website with automatic Single Sign-On (SSO) for logged-in WordPress users. When a logged-in user views the page, they are automatically authenticated in the Canny widget using their WordPress profile data (name, email, avatar) — no separate Canny account needed. The plugin handles all SDK loading and JWT token generation automatically.

Requirements

RequirementDetails
Canny.io AccountA Canny.io account with at least one board created
Canny SSO KeyA private SSO key from your Canny.io account settings
Canny Board TokenThe board token for the specific board you want to embed

No child theme required. No theme dependency. This plugin works with any WordPress theme. It does not override any template files.

Installation & Activation

Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.

After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.

After activation, navigate to “Canny.io Helper” in the WordPress admin sidebar to enter your SSO key.


Key Features

FeatureDescription
Shortcode EmbeddingEmbed any Canny.io feedback board on any WordPress page or post using a simple shortcode.
Automatic SSOLogged-in WordPress users are automatically authenticated in the Canny widget — no separate Canny account needed.
User Data SyncThe user’s WordPress display name, email, avatar, and user ID are passed to Canny automatically.
Theme SupportChoose between light, dark, or auto (follows system preference) themes for the embedded widget.
Multiple BoardsEmbed multiple Canny boards on different pages (or the same page) using separate shortcodes.
Zero JavaScript CodingAll Canny SDK loading and initialization is handled automatically by the shortcode.

How It Works

1. You enter your Canny.io Private SSO Key in the plugin settings.

2. You place the shortcode on any page with your Canny board token.

3. When a logged-in WordPress user visits the page, the plugin automatically generates a secure token containing their profile data (name, email, avatar, user ID) and passes it to the Canny widget.

4. The Canny feedback board appears on the page with the user pre-authenticated — they can immediately submit feedback, vote on features, and comment without creating a separate Canny account.

Important: The Canny widget is only displayed to logged-in WordPress users. Anonymous (logged-out) visitors will see nothing where the shortcode is placed.


Finding Your Canny.io Credentials

You need two pieces of information from your Canny.io account:

CredentialWhere to Find It
Private SSO KeyLog in to your Canny.io admin panel → Settings → SSO. Copy the private key. See the Canny SSO documentation for details.
Board TokenIn your Canny admin panel, navigate to the board you want to embed and copy the board token from the board settings or embed instructions.

Settings Page

Navigate to “Canny.io Helper” in the WordPress admin sidebar.

SettingDescription
Private SSO KeyEnter the private SSO key from your Canny.io account. This key is used to securely sign the authentication token. Required for the widget to function.

After entering your SSO key, click “Save Changes.”


Shortcode Usage

Basic Usage

[codicts-canny-io-helper board_token="YOUR_BOARD_TOKEN"]

Place this shortcode on any post or page where you want the Canny.io feedback board to appear.

Attributes

AttributeRequiredDefaultDescription
board_tokenYes(none)The board token from your Canny.io account. Without this, the shortcode renders nothing.
themeNolightThe visual theme of the widget. Options: light, dark, auto.
base_pathNo(empty)The base path for Canny’s client-side routing. Set this to the page path where the board is embedded (e.g., /feedback).

Full Example

[codicts-canny-io-helper board_token="xxxxxxxxxxxxxxxxx" theme="dark" base_path="/feedback"]

Theme Options

ThemeDescription
lightLight background with dark text (default).
darkDark background with light text.
autoFollows the user’s system/browser theme preference.

When the Shortcode Renders Nothing

The shortcode will not display the Canny widget if any of the following are true:

ConditionReason
No board_token attributeThe shortcode needs to know which Canny board to display.
No SSO key configuredThe Private SSO Key must be entered in the plugin settings.
Visitor is not logged inThe widget only renders for authenticated WordPress users.

Single Sign-On (SSO)

The plugin’s core feature is automatic SSO between WordPress and Canny.io. When a logged-in user views a page with the shortcode, the plugin generates a secure token containing their profile data and passes it to Canny.

User Data Sent to Canny.io

DataSource
Display NameThe user’s WordPress display name.
EmailThe user’s WordPress email address.
User IDThe WordPress user ID (used to link the Canny identity to the WordPress account).
AvatarThe user’s WordPress avatar URL (typically their Gravatar).

This data is securely signed using your Private SSO Key and transmitted to Canny.io as a JWT (JSON Web Token). Canny verifies the token and authenticates the user automatically.


Example — Embedding a Feedback Board

1. Activate the plugin.

2. Navigate to “Canny.io Helper” in the admin sidebar. Enter your Canny.io Private SSO Key and save.

3. Create a new WordPress page (e.g., “Feedback”). Add the shortcode:

[codicts-canny-io-helper board_token="YOUR_BOARD_TOKEN"]

4. Publish the page. When a logged-in user visits the page, the Canny feedback board appears with the user automatically signed in using their WordPress profile. They can submit feedback, vote on features, and comment immediately.


Example — Dark Theme with Base Path

1. Create a page at the URL path /feedback.

2. Add the shortcode with the dark theme and base path:

[codicts-canny-io-helper board_token="YOUR_BOARD_TOKEN" theme="dark" base_path="/feedback"]

3. The Canny board renders in dark mode. The base_path ensures Canny’s internal navigation links work correctly relative to the /feedback page path.


Example — Multiple Boards on Different Pages

1. Create a “Feature Requests” page with:

[codicts-canny-io-helper board_token="FEATURE_BOARD_TOKEN"]

2. Create a “Bug Reports” page with:

[codicts-canny-io-helper board_token="BUG_BOARD_TOKEN"]

Each page displays a different Canny board, both with automatic SSO. You can also place multiple shortcodes on the same page with different board tokens to show multiple boards.


Frequently Asked Questions

Does this require a child theme?

No. The plugin does not override any template files. It works with any WordPress theme.

Does this require WooCommerce or any specific theme?

No. The plugin works with any WordPress installation. It only requires a Canny.io account with an SSO key and board token.

Can anonymous (logged-out) visitors see the Canny board?

No. The plugin generates a secure token only for logged-in WordPress users. If no user is logged in, the shortcode outputs nothing. The Canny widget is exclusively available to authenticated users.

What user data is shared with Canny.io?

Four pieces of data: the user’s WordPress display name, email address, user ID, and avatar URL. This data is securely signed and transmitted to Canny for authentication.

Can I embed multiple Canny boards?

Yes. Use multiple shortcodes with different board_token values on the same page or different pages. The Canny SDK is only loaded once regardless of how many boards are embedded.

What theme options are available?

Three options: light (default, light background), dark (dark background), and auto (follows the user’s system/browser preference).

What does the base_path attribute do?

The base_path configures Canny’s client-side routing. If your Canny board is embedded at https://example.com/feedback, set base_path="/feedback" so that Canny correctly handles internal navigation links within the widget.

Is there a settings page?

Yes. Navigate to “Canny.io Helper” in the WordPress admin sidebar. The settings page has one field: the Private SSO Key from your Canny.io account.

Does the plugin create any database tables?

No. The plugin stores its settings (the SSO key) in a single entry in the WordPress options table. No custom database tables are created and no post-level data is stored.

Do I need to install any additional libraries or run composer?

No. The required JWT library is bundled with the plugin. Everything works out of the box after activation.

What happens when the plugin is deactivated?

The Canny shortcode stops rendering. The raw shortcode text will be visible on pages where it was placed. The stored SSO key in the options table is preserved. Reactivating the plugin restores full functionality.


Troubleshooting

Canny Widget Not Appearing on the Page

CauseSolution
No SSO key configuredNavigate to Canny.io Helper in the admin sidebar and enter your Canny.io Private SSO Key. Save changes.
Missing board_token attributeThe shortcode requires a board_token attribute. Ensure your shortcode includes it: [codicts-canny-io-helper board_token="YOUR_TOKEN"].
Not logged inThe widget only renders for logged-in WordPress users. Log in and revisit the page.
PHP version too lowThe bundled JWT library requires PHP 7.4 or higher. Check your server’s PHP version and upgrade if needed.

User Not Authenticated in the Canny Widget

CauseSolution
Wrong SSO keyVerify you entered the correct Private SSO key from Canny.io → Settings → SSO. Make sure it’s the private key, not the public one.
SSO not enabled in CannyIn your Canny.io admin panel, go to Settings → SSO and ensure SSO is enabled for your account.

Wrong Board Displayed

CauseSolution
Wrong board tokenEach Canny board has its own unique token. Verify you’re using the correct board token from the board’s settings in your Canny admin panel.

Navigation Links Not Working Inside the Widget

CauseSolution
Missing base_pathIf the Canny board is embedded on a subpage (e.g., /feedback), add the base_path attribute matching the page path: base_path="/feedback".

For further support, visit codicts.com or contact us at support@codicts.com.

CoDicts Co., Ltd. © 2021-2026. All rights reserved