diff --git a/.changeset/tricky-shoes-lie.md b/.changeset/tricky-shoes-lie.md
index dbcb3dc487579..d7a17f0345629 100644
--- a/.changeset/tricky-shoes-lie.md
+++ b/.changeset/tricky-shoes-lie.md
@@ -2,4 +2,9 @@
'@backstage/plugin-catalog-graph': patch
---
-Added Action attribute for CatalogGraphCard
+Added InfoCard `action` attribute for CatalogGraphCard
+
+```tsx
+const action =
+
+```
diff --git a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx
index 1f6c77ccf39a4..672eeb6513ee4 100644
--- a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx
+++ b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx
@@ -33,6 +33,7 @@ import userEvent from '@testing-library/user-event';
import React from 'react';
import { catalogGraphRouteRef } from '../../routes';
import { CatalogGraphCard } from './CatalogGraphCard';
+import Button from '@material-ui/core/Button';
describe('', () => {
let entity: Entity;
@@ -127,6 +128,33 @@ describe('', () => {
expect(await screen.findByText('Custom Title')).toBeInTheDocument();
});
+ test('renders with action attribute', async () => {
+ catalog.getEntitiesByRefs.mockImplementation(async _ => ({
+ items: [
+ {
+ ...entity,
+ relations: [],
+ },
+ ],
+ }));
+
+ await renderInTestApp(
+
+
+ } />
+
+ ,
+ {
+ mountedRoutes: {
+ '/entity/{kind}/{namespace}/{name}': entityRouteRef,
+ '/catalog-graph': catalogGraphRouteRef,
+ },
+ },
+ );
+
+ expect(await screen.findByText('Action Button')).toBeInTheDocument();
+ });
+
test('renders link to standalone viewer', async () => {
catalog.getEntitiesByRefs.mockImplementation(async _ => ({
items: [