integration-logos

Get logos and icons for Gmail, Slack, HubSpot, and 200+ other integrations

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "integration-logos" with this command: npx skills add picahq/skills/picahq-skills-integration-logos

Integration Logos

Get logos and icons for all Pica-supported integrations.

Overview

Pica provides logos and images for all 200+ supported integrations. Use this skill to display integration icons in your UI, documentation, or marketing materials.

Prerequisites


Quick Reference

Asset URL Pattern

All integration assets follow this pattern:

https://assets.picaos.com/logos/{platform}.svg

Examples:

  • Gmail: https://assets.picaos.com/logos/gmail.svg
  • Slack: https://assets.picaos.com/logos/slack.svg
  • HubSpot: https://assets.picaos.com/logos/hubspot.svg

Common Platform IDs

IntegrationPlatform IDAsset URL
Gmailgmailhttps://assets.picaos.com/logos/gmail.svg
Google Calendargoogle-calendarhttps://assets.picaos.com/logos/google-calendar.svg
Slackslackhttps://assets.picaos.com/logos/slack.svg
HubSpothubspothttps://assets.picaos.com/logos/hubspot.svg
Salesforcesalesforcehttps://assets.picaos.com/logos/salesforce.svg
Notionnotionhttps://assets.picaos.com/logos/notion.svg
Linearlinearhttps://assets.picaos.com/logos/linear.svg
GitHubgithubhttps://assets.picaos.com/logos/github.svg
Jirajirahttps://assets.picaos.com/logos/jira.svg
Asanaasanahttps://assets.picaos.com/logos/asana.svg
Stripestripehttps://assets.picaos.com/logos/stripe.svg
Shopifyshopifyhttps://assets.picaos.com/logos/shopify.svg
Zendeskzendeskhttps://assets.picaos.com/logos/zendesk.svg
Intercomintercomhttps://assets.picaos.com/logos/intercom.svg
Airtableairtablehttps://assets.picaos.com/logos/airtable.svg

Fetching Assets from API

The recommended way to get integration assets is via the Available Connectors API, which returns the official image URL for each integration.

API Request

GET https://api.picaos.com/v1/available-connectors?limit=300
Headers:
  x-pica-secret: YOUR_PICA_SECRET_KEY

Response Structure

{
  "rows": [
    {
      "platform": "gmail",
      "name": "Gmail",
      "category": "Communication",
      "image": "https://assets.picaos.com/logos/gmail.svg",
      "description": "..."
    },
    {
      "platform": "slack",
      "name": "Slack",
      "category": "Communication",
      "image": "https://assets.picaos.com/logos/slack.svg",
      "description": "..."
    }
  ],
  "total": 200,
  "pages": 1,
  "page": 1
}

Key Fields

FieldDescription
platformPlatform identifier (use for constructing URLs)
nameDisplay name
imageOfficial logo URL
categoryIntegration category

Implementation

Fetch All Integration Assets

interface Integration {
  platform: string;
  name: string;
  image: string;
  category: string;
}

async function getIntegrations(): Promise<Integration[]> {
  const response = await fetch(
    "https://api.picaos.com/v1/available-connectors?limit=300",
    {
      headers: {
        "x-pica-secret": process.env.PICA_SECRET_KEY,
      },
    }
  );

  if (!response.ok) {
    throw new Error(`Failed to fetch integrations: ${response.status}`);
  }

  const data = await response.json();
  return data.rows;
}

Build Asset URL from Platform ID

function getIntegrationLogo(platform: string): string {
  return `https://assets.picaos.com/logos/${platform}.svg`;
}

// Usage
const gmailLogo = getIntegrationLogo("gmail");
// => "https://assets.picaos.com/logos/gmail.svg"

Display Integration with Logo

function IntegrationCard({ integration }) {
  const [imgError, setImgError] = useState(false);

  return (
    <div className="integration-card">
      {!imgError ? (
        <img
          src={integration.image}
          alt={integration.name}
          onError={() => setImgError(true)}
        />
      ) : (
        <div className="fallback-icon">
          {integration.name.charAt(0).toUpperCase()}
        </div>
      )}
      <span>{integration.name}</span>
    </div>
  );
}

With Fallback URLs

If the primary asset URL fails, fall back to a generic icon service:

function getIntegrationLogo(platform: string, primaryUrl?: string): string {
  // Use API-provided URL if available
  if (primaryUrl) {
    return primaryUrl;
  }

  // Construct from pattern
  return `https://assets.picaos.com/logos/${platform}.svg`;
}

function getFallbackLogo(platform: string): string {
  // SimpleIcons as fallback
  return `https://cdn.simpleicons.org/${platform}`;
}

Caching Assets

For production applications, cache the integration list to reduce API calls:

let cachedIntegrations: Integration[] | null = null;
let cacheTime: number = 0;
const CACHE_DURATION = 60 * 60 * 1000; // 1 hour

async function getIntegrationsCached(): Promise<Integration[]> {
  const now = Date.now();

  if (cachedIntegrations && now - cacheTime < CACHE_DURATION) {
    return cachedIntegrations;
  }

  cachedIntegrations = await getIntegrations();
  cacheTime = now;

  return cachedIntegrations;
}

Filtering by AuthKit Support

To get only integrations that support OAuth via AuthKit:

GET https://api.picaos.com/v1/available-connectors?authkit=true&limit=300

This filters to integrations that can be connected via the AuthKit widget.


Asset Specifications

PropertyValue
FormatSVG (scalable)
BackgroundTransparent
Recommended display size24x24 to 64x64 px
ColorOriginal brand colors

Troubleshooting

IssueCauseSolution
404 on asset URLInvalid platform IDVerify platform ID from API response
Image not loadingCORS or network issueUse img tag or proxy through your server
Wrong logo displayedPlatform ID mismatchUse exact platform value from API, not display name
Blurry logoScaling PNGAssets are SVG, ensure proper rendering

API Reference

Endpoints

EndpointDescription
GET /v1/available-connectorsList all integrations with assets
GET /v1/available-connectors?authkit=trueList OAuth-enabled integrations

Asset URL

https://assets.picaos.com/logos/{platform}.svg

Replace {platform} with the platform identifier from the API response.

Documentation

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pica

No summary provided by upstream source.

Repository SourceNeeds Review
General

openclaw-integrations

No summary provided by upstream source.

Repository SourceNeeds Review
General

authkit

No summary provided by upstream source.

Repository SourceNeeds Review
General

pica-mastra

No summary provided by upstream source.

Repository SourceNeeds Review