skills/sales-tray/SKILL.md
Tray.ai platform help — enterprise iPaaS with 700+ connectors, Intelligent iPaaS, Enterprise Core governance, Merlin Agent Builder for AI agents, Tray Embedded for SaaS vendors, GraphQL API, Connector Development Kit. Use when Tray bill keeps climbing and task consumption is unpredictable, workflows fail with unclear errors and debugging feels opaque, evaluating Tray vs Workato vs MuleSoft vs Boomi, embedding integrations into a SaaS product via Tray Embedded, building Merlin AI agents, or configuring the GraphQL Embedded API and solution instances. Do NOT use for simple Zapier/Make automations (use /sales-integration), Workato-specific questions (use /sales-workato), or MuleSoft-specific questions (use /sales-mulesoft).
npx skillsauth add sales-skills/sales sales-trayInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If references/learnings.md exists, read it first for accumulated platform knowledge.
Ask the user:
What do you need help with?
What edition are you on?
What's your role?
Skip-ahead rule: if the user's prompt already provides enough context, skip to Step 2. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask 1-2 critical clarifying questions.
| Problem domain | Route to |
|---|---|
| Connecting Tray to Salesforce/HubSpot/CRM | /sales-integration {question} |
| CRM comparison — Salesforce vs HubSpot vs others | /sales-crm-selection {question} |
| Salesforce-specific config (Flows, Apex, SOQL) | /sales-salesforce {question} |
| Simple no-code Zapier/Make automations | /sales-integration {question} |
| Workato-specific questions | /sales-workato {question} |
| MuleSoft-specific questions | /sales-mulesoft {question} |
| Boomi-specific questions | /sales-boomi {question} |
| SnapLogic-specific questions | /sales-snaplogic {question} |
| Celigo-specific questions | /sales-celigo {question} |
| Jitterbit-specific questions | /sales-jitterbit {question} |
| CRM data quality / deduplication | /sales-data-hygiene {question} |
| Workflow design and task optimization | Answer directly — read platform guide |
| Tray Embedded integration | Answer directly — read platform guide |
| Merlin Agent Builder | Answer directly — read platform guide |
| GraphQL API / solution instances | Answer directly — read API reference |
| Pricing and cost optimization | Answer directly — read platform guide |
When routing, provide the exact command.
Read references/platform-guide.md for the full platform reference — modules, pricing, connectors, Merlin agents, Tray Embedded, rate limits, governance.
Answer the user's question using only the relevant section. Don't dump the full reference.
If the question involves the GraphQL Embedded API (solution instances, user tokens, authentications), also read references/tray-api-reference.md for endpoints, authentication, and mutation details.
You no longer need the platform guide — focus on the user's specific situation.
Connector selection shortcut: Check Tray's connector library first (700+ pre-built). If no connector exists, use the HTTP Client connector for any REST API, or build a custom connector with the Connector Development Kit (falafel Node.js framework).
Cost optimization shortcut: Task-based billing — each workflow step counts. Audit high-volume workflows, remove redundant steps, use branching to skip unnecessary actions. Enterprise contracts typically start at $36K/year; model task consumption before signing and negotiate usage caps.
Debugging shortcut: Use the workflow Debug panel to step through execution and inspect input/output at each step. For the Embedded API, inspect GraphQL responses for errors array — Tray returns HTTP 200 with an errors field even on failure. Check connection auth status; expired auths silently fail.
Tray Embedded shortcut: Solution instances are per-end-user copies of a Solution. Use the Master Token for org-wide setup (manage end users, create user tokens via the authorize mutation, fetch connectors/schemas). Use a User Token for per-end-user operations — including the entire Solution Instance lifecycle (createSolutionInstance, updateSolutionInstance to enable/rename, upgradeSolutionInstance for config/auth values, removeSolutionInstance). Get Solution Instances accepts either token. All API calls must be server-side — CORS blocks browser calls.
If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research — review these, especially pricing details and feature availability which change frequently.
Get Users, create/update/delete external users, mint user tokens via authorize, fetch connectors/schemas). User Token = single end user — and the entire Solution Instance lifecycle runs on the User Token (createSolutionInstance, updateSolutionInstance, upgradeSolutionInstance, removeSolutionInstance are all "(user token)" in current docs). Get Solution Instances accepts either token. Use the wrong token and you'll get empty results or auth errors.tray.io/graphql. EU: eu1.tray.io/graphql. APAC: ap1.tray.io/graphql. Whitelabel OAuth redirects use {org}.integration-authentication.com/oauth2/token. Using the wrong region returns empty results without an obvious error.tray.io now 301-redirects to tray.ai, but API surface and developer docs still use tray.io domains. Both work in documentation links./sales-workato — Workato platform help — enterprise iPaaS, 1200+ connectors, recipe automation, MCP Gateway (top competitor)/sales-mulesoft — MuleSoft platform help — Anypoint Platform, API-led connectivity, 450+ connectors (direct competitor)/sales-boomi — Boomi platform help — enterprise iPaaS, 1000+ connectors, Data Hub MDM (direct competitor)/sales-celigo — Celigo platform help — mid-market iPaaS, 1000+ connectors, NetSuite depth (direct competitor)/sales-snaplogic — SnapLogic platform help — enterprise iPaaS, 1000+ Snaps, AgentCreator (direct competitor)/sales-jitterbit — Jitterbit platform help — Harmony iPaaS, 400+ connectors, API Manager (direct competitor)/sales-informatica — Informatica IDMC platform help — enterprise iPaaS + data management, CDI/CAI, MDM, Data Catalog (direct competitor, data-management-first)/sales-integration — Connecting sales tools — webhooks, Zapier/Make, native integrations, CRM sync/sales-salesforce — Salesforce platform help — common Tray integration target/sales-hubspot — HubSpot platform help — common Tray integration target/sales-data-hygiene — CRM data quality — deduplication, record matching, enrichment automation/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-doUser says: "Our Tray bill went from $40K to $65K in 9 months — how do we figure out what's consuming tasks?" Skill does: Reads platform guide for pricing section. Explains task-based billing — every workflow step counts, so high-volume workflows with many branches/steps are usually the culprits. Recommends: (1) review the workflow task consumption view in the Tray dashboard, (2) audit the top 10 highest-volume workflows for redundant or always-on steps, (3) add branching to skip unnecessary actions, (4) batch-process where the source API supports it, (5) renegotiate at contract renewal with usage data in hand. Notes that Tray doesn't hard-stop workflows at plan limits, so overages compound. Result: User has a concrete optimization plan and a starting audit list.
User says: "We're a SaaS company and want to embed Tray so our customers can connect their own tools. How does that work?"
Skill does: Reads platform guide for Tray Embedded section and API reference for mutation details. Explains: (1) build a Solution in Tray (reusable workflow template), (2) use the Configuration Wizard to let end users authenticate and configure, (3) on your backend, first use the Master Token to register the end user (createExternalUser) and mint a per-user token via the authorize mutation, (4) with that User Token, call createSolutionInstance (solutionId, instanceName) to create the per-customer copy, then updateSolutionInstance with enabled: true to activate it (config/auth values are applied via upgradeSolutionInstance), (5) note the ~2-second delays required between create → enable → first webhook call. Flags CORS constraint (API is backend-only), and points to the official sample app (github.com/trayio/embedded-edition-sample-app) for reference architecture.
Result: User understands the embedded integration model, token types, and reference implementation.
User says: "We're a 6-person platform engineering team integrating 30 SaaS apps. Tray or Workato?" Skill does: Reads platform guide for competitor comparison. For a technical team integrating many apps: Tray fits better for teams comfortable with API-first, JavaScript-adjacent workflows and custom connector development via the CDK. Workato fits better for teams that want faster time-to-value with business-user-friendly recipes and broader connector coverage (1,200+ vs 700+). Pricing is similar enterprise range. Notes: Tray docs are thinner — budget more ramp time. If you plan to embed in a product, Tray Embedded is mature (launched 2020); Workato also has Embedded iPaaS with the Embed Partner Program. Result: User understands trade-offs and can pick based on team preference and roadmap.
Symptom: A workflow step completes without an error but downstream steps receive empty data.
Cause: Tray's GraphQL API returns HTTP 200 with an errors field when the server encounters a problem. Connection authentication may have expired without flagging, or the step's input mapping references a null/missing field.
Solution: Open the workflow Debug panel and inspect input/output at each step. Check Connections → verify the connection for the step shows "Authenticated" (not expired). Re-authenticate if needed. For API-level debugging, inspect the full GraphQL response — look for errors array even on HTTP 200 responses.
Symptom: Workflow actions fail intermittently when processing high volumes. Cause: Tray enforces 30 req/sec and 1800 req/min across Embedded/Connectivity APIs (except Call Connector). Bursts up to 50/sec are tolerated briefly. Hitting these limits returns rate-limit responses (specific HTTP code not published). Solution: Implement exponential backoff on rate-limit errors. For high-volume Call Connector usage, remember concurrency cap is 1000 active requests — request a CSM increase if needed. Reduce trigger frequency or batch source events. For Event delivery (Trigger API), Tray auto-implements exponential backoff when downstream endpoints rate-limit.
Symptom: You created a Solution Instance via the Embedded API but the end user doesn't see it in their Configuration Wizard.
Cause: Wrong token scope or ownerId, or querying from the wrong regional endpoint. Get Solution Instances (get-solution-instances) accepts a user or master token and takes an ownerId argument — a master token returns instances org-wide, a user token returns only that end user's. A mismatched ownerId (or a user token for a different end user) returns nothing. Also: if the instance was just created, the required ~2-second create→enable delay may not have elapsed, so it isn't enabled yet.
Solution: Either query with the master token filtered by the correct ownerId, or mint a User Token for that end user via the authorize mutation (pass their userId) and query Get Solution Instances with it. Confirm the instance is enabled (set via updateSolutionInstance enabled: true). Confirm the regional base URL matches your org's region (US: tray.io, EU: eu1.tray.io, APAC: ap1.tray.io). Whitelabel deployments use {org}.integration-authentication.com for OAuth redirects — verify the end user's auth flow hits the correct redirect URL.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).