> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junojourney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accredible

> Issue Accredible certificates automatically when learners complete a course, Journey, SCORM unit, or survey.

export const InternalNote = ({children}) => {
  const [isInternal, setIsInternal] = useState(false);
  useEffect(() => {
    const user = window.__mintlify_user__;
    if (user?.groups?.includes("internal")) setIsInternal(true);
  }, []);
  if (!isInternal) return null;
  return <div className="internal-note">
      <strong className="internal-note-title">🔒 Internal Note</strong>
      <div>{children}</div>
    </div>;
};

export const RelatedPages = ({pages = []}) => {
  if (pages.length === 0) return null;
  return <>
      <br />
      <strong>Related articles</strong>
      <CardGroup cols={2}>
        {pages.map(page => <Card title={page.title} href={page.href} key={page.href} />)}
      </CardGroup>
    </>;
};

export const RoleBadge = ({roles = []}) => {
  const colorMap = {
    Admin: "yellow",
    Manager: "blue",
    Learner: "green",
    "Co-editor": "purple"
  };
  return <>
      {roles.map(role => <span key={role}><Badge color={colorMap[role] || "gray"} size="sm" shape="pill">{role}</Badge>{" "}</span>)}
    </>;
};

export const Prerequisites = ({items = []}) => {
  return <Note title="Before you start">
      {items.length > 0 && <ul>
          {items.map((item, index) => <li key={index}>{item}</li>)}
        </ul>}
    </Note>;
};

<RoleBadge roles={["Admin"]} />

Connect your organization's Accredible account and let an automation issue an Accredible certificate each time a learner completes a piece of learning. The certificate is also added to the learner's certificates in Juno.

<Note>
  The Accredible integration is turned on per organization. If you don't see the **Accredible API Key** section or the **Issue an Accredible certificate** action, contact your Juno account team to enable it. Each organization uses its **own** Accredible account and API key.
</Note>

<InternalNote>
  Two flags gate this: `can_see_old_migration` (shows the **Migrations** settings tab, default 99) and `can_issue_accredible_certificate` (shows the automation action, default 8). The API key card itself needs role 5+.
</InternalNote>

<Prerequisites
  items={[
"An Accredible account with an API key",
"At least one group (certificate template) set up in Accredible",
"The Accredible integration enabled for your organization by Juno",
"Admin access to Juno",
]}
/>

***

## Connect Accredible

Open **Settings → Migrations** and find the **Accredible API Key** section.

<Steps>
  <Step title="Choose the environment">
    Select **Production** or **Sandbox**. Keys are environment-specific — a sandbox key is rejected by the production API, and a production key by the sandbox.
  </Step>

  <Step title="Enter your API key">
    Paste your key into the **Accredible API key** field.
  </Step>

  <Step title="Save">
    Select **Save API key**. Juno stores the key and the selected environment together.
  </Step>
</Steps>

Your key is stored encrypted and never shown back to you. Once saved, the section shows **A key is configured — enter a new one to replace it** and the saved environment. To change key or environment, enter the matching key and select **Update API key**.

<Warning>
  Juno doesn't check the key when you save it. If the **Certificate template** list in your automation is empty, the key or environment is probably wrong — replace it with a key that matches the selected environment.
</Warning>

***

## Issue certificates with an automation

Accredible certificates are issued from a unit's automation, using the **Completed their training** trigger.

<Steps>
  <Step title="Open the unit's automations">
    Open a course, Journey, SCORM unit, or survey and select **Automation** in the unit header.
  </Step>

  <Step title="Set who and when">
    Choose which learners the automation targets, then pick the **Completed their training** trigger.
  </Step>

  <Step title="Choose the action">
    Select **Issue an Accredible certificate**. This action only appears once an API key is saved.
  </Step>

  <Step title="Pick a certificate template">
    Choose a **Certificate template** — the list shows the groups in your Accredible account. Optionally set an **Expiration date (optional)**; past dates can't be picked.
  </Step>
</Steps>

***

## What happens when a learner completes

When a learner who matches the automation completes the unit, Juno sends Accredible their **display name** and **primary email**, together with the certificate template and expiration date you chose.

If Accredible issues the credential, Juno adds it to the learner's certificates, titled with the credential name and linked to the certificate hosted by Accredible. The issuer shows as **Accredible - \[your organization's name]**.

* **Once per learner.** Each automation runs once for each learner. Completing the unit again doesn't issue a second certificate from the same automation.
* **No automatic retry.** If Accredible rejects the request — for example, a wrong key or environment — no certificate is issued, and the automation isn't retried for that learner.

***

## Troubleshooting

| Problem                                               | What to check                                                                                                                                                       |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Issue an Accredible certificate** action is missing | An API key must be saved in **Settings → Migrations**, the trigger must be **Completed their training**, and the integration must be enabled for your organization. |
| **Certificate template** list is empty                | Check the key matches the selected environment (**Production** or **Sandbox**) and that your Accredible account has groups.                                         |
| Learner didn't get a certificate                      | Confirm the learner matches the automation's targeting and the key is valid. The automation doesn't retry learners it already ran for.                              |

<RelatedPages
  pages={[
{ href: "/admin/automations", title: "Automations" },
{ href: "/learning/certifications", title: "Certifications" },
{ href: "/learning/learning-paths", title: "Journeys" },
]}
/>
