Skip to content
Concierge

can my agent just switch us over?

Concierge

Switch from another in-app support tool

Switch in one prompt.

Paste one prompt into Claude Code, Cursor, Codex or any coding agent. It replaces your current support SDK with Concierge, keeps your users signed in, moves your saved replies into knowledge and tells you who is still waiting.

  • iOS, Android React Native, Flutter and web
  • Diff first nothing written blind
  • Same user ids nobody starts over

ok, what do I paste?

Concierge
Replace this project's in-app support SDK with Concierge (https://conciergesdk.com).
My Concierge app key: app_YOUR_APP_KEY

1. Read https://conciergesdk.com/docs/migrate.md and the guide for this platform
   (https://conciergesdk.com/llms.txt lists every page as Markdown).
2. Find the current support SDK. Search the dependency files (Package.swift, Podfile,
   project.pbxproj, build.gradle or build.gradle.kts, package.json, app.json, pubspec.yaml)
   and the code for its init or configure, identify or login, logout, custom attributes or
   metadata, open chat, unread count, push token and notification calls. List every call site
   before changing anything.
3. Install Concierge by following the install steps in the guide for this platform: add the
   package, then call configure with app_YOUR_APP_KEY. Show me the diff before you write it.
   For a website, add @conciergesdk/web.
4. Swap each call using the mapping table in migrate.md. Keep the same user id the old SDK used.
   Custom attributes become string metadata; never put names or emails in metadata.
5. Identity: if my backend signed a user hash or JWT for the old tool, add an endpoint that signs
   a Concierge identity token (HS256, sub = user id, exp at most 30 days) with the identity secret,
   and pass it to identify. The secret stays on the server, never in the app or the repo.
6. Remove the old SDK completely: dependency, imports, keys, plist or manifest entries and its
   push handler. Leave no dead code behind.
7. Saved replies, macros and help articles: if the Concierge MCP server is connected, add each
   one with upsert_knowledge and draft: true, one article per topic. Otherwise write them to
   support-export/knowledge/ as Markdown. If the old tool hosts a help center, give me its URL
   so I can add it under Knowledge, Sources, Add a link.
8. Conversations: if the old tool has an export or an API, write every thread to
   support-export/conversations/conversations.json in the shape migrate.md shows, add
   support-export/ to .gitignore and never commit it. Import it with the import_conversations
   MCP tool.
   Import is part of Pro. List the customers still waiting for a reply.
9. Build, open Support in the app and send "Hello from the switch". Confirm the dashboard
   shows Connected, or check it with the verify_install MCP tool.
10. Report: files changed, each old call and what replaced it, anything left as
    TODO(concierge), the knowledge drafts, the imported conversations and the waiting customers.

Paste it from the root of your app's repo. The app key is public, so it is fine in a prompt. Never paste your identity secret.

what does it actually do?

Concierge
  1. Finds the old SDK

    Every dependency file and call site, listed before a single line changes.

  2. Installs Concierge

    Follows the install guide for iOS, Android, React Native, Flutter or web, adds the package, writes configure with your app key and shows you the diff first. Prefer a terminal? npx @conciergesdk/cli init does the same.

  3. Swaps the calls

    Configure, identify, metadata, open chat, unread badge, push and logout, mapped one to one. Same user ids, so nobody starts over.

  4. Keeps identity verified

    Moves your server side user hash to a signed Concierge token. The secret never ships in the app.

  5. Moves your knowledge

    Saved replies and help articles become knowledge drafts over MCP, so the AI agent answers from day one, after you review them.

  6. Brings your history

    Exports threads from the old tool when it has an export or API, imports them as history on Pro, and lists who still needs a reply.

  7. Proves it works

    Builds and sends a test message. The dashboard shows Connected.

show me the code

Concierge

Most support SDKs have the same handful of calls. Names vary, the jobs don't, so they map one to one.

Before a typical support SDK
import SupportSDK

SupportSDK.configure(apiKey: "OLD_KEY")
SupportSDK.login(userId: user.id, email: user.email, userHash: hash)
SupportSDK.setCustomAttributes(["plan": "Pro"])
SupportSDK.setDeviceToken(token)

Button("Help") { SupportSDK.showMessenger() }
SupportSDK.logout()
After Concierge
import Concierge

Concierge.configure(appKey: "app_YOUR_APP_KEY")
Concierge.identify(userId: user.id, name: user.name, email: user.email,
                   token: try await api.conciergeToken())
Concierge.setMetadata(["plan": "Pro"])
Concierge.registerPushToken(token)

Button("Help") { Concierge.present() }
Concierge.logout()
iOS guide

The before snippets show a generic pattern, not any one vendor's API.

Typical support SDK calls and their Concierge equivalents
JobTypical old calliOSAndroidReact NativeFlutter
Start the SDKinit, configure, setup, startConcierge.configure(appKey:)Concierge.configure(context, appKey)Concierge.configure({ appKey })Concierge.configure(appKey: ...)
Sign a user inidentify, login, setUser, registerUserConcierge.identify(userId:name:email:token:)Concierge.identify(userId, name, email, token)Concierge.identify(userId, { name, email, token })Concierge.identify(userId, name:, email:, token:)
Verified identityuser hash, HMAC, identity JWTtoken: HS256 JWT from your servertoken = HS256 JWTtoken: HS256 JWTtoken: HS256 JWT
User attributescustom attributes, user properties, metadataConcierge.setMetadata([String: String])Concierge.setMetadata(mapOf(...))Concierge.setMetadata({ ... })Concierge.setMetadata({ ... })
Events and logslogEvent, track, breadcrumbsConcierge.breadcrumb(_:)Concierge.breadcrumb(...)Concierge.breadcrumb(...)Concierge.breadcrumb(...)
Open the chatshow, present, showMessenger, openChatConcierge.present() or ConciergeChatView()Concierge.open(context)Concierge.open()Concierge.open()
Unread badgeunreadCount, unread listenerConcierge.shared.unreadCountConcierge.unreadCount (StateFlow)useUnreadCount()Concierge.unreadCountStream
Push tokensetDeviceToken, registerPush, setFCMTokenConcierge.registerPushToken(_:)Concierge.registerPushToken(token)Concierge.registerPushToken(token)Concierge.registerPushToken(token)
Notification taphandlePush, isSupportNotificationConcierge.handleNotification(userInfo)Concierge.handleNotification(data)Concierge.handleNotification(data)Concierge.handleNotification(data)
Sign outlogout, reset, clearUserConcierge.logout()Concierge.logout()Concierge.logout()Concierge.logout()

what's left for me to do?

Concierge
  1. Create your Concierge app and copy the app key (app_...) and identity secret (ids_...).
  2. Connect the Concierge MCP server to your coding agent, so it can write knowledge drafts.
  3. Paste the prompt, review the diff your agent shows, and let it apply.
  4. Add the identity token endpoint on your server, and keep Require verified users on.
  5. Forward push tokens to Concierge and upload your APNs key or FCM service account in the dashboard.
  6. Review and publish the knowledge drafts, then turn the AI agent on.
  7. Import your conversation history (Pro), then reply to the waiting customers from the Concierge inbox.
  8. Ship the release. Keep the old inbox open, read only, until its last open thread closes.
  9. Cancel the old plan once nobody on an old app version still uses it.

Do the whole switch first and test with up to 3 of your own devices before you subscribe. Pro is one flat monthly price with 1,000 AI replies included. Founder price $19 a month, locked while you stay subscribed, for the first 50 subscribers. Then $49 a month.

Switching, answered

Which support SDKs can the prompt replace?

Concierge

Any in-app chat or helpdesk SDK with the usual shape: configure, identify, attributes, open chat, push and logout. Those calls exist in nearly every support SDK, so the agent maps them one to one. Anything without a safe equivalent is commented out with a TODO(concierge) note so the project still builds and you decide.

Which coding agents does it work in?

Concierge

Claude Code, Cursor, Codex, Windsurf, VS Code with Copilot, Gemini CLI, Zed or any agent that can read a URL and edit files. Moving knowledge drafts needs the Concierge MCP server connected; without it the agent writes them to Markdown files for you.

Can I bring my conversation history?

Concierge

Yes, on Pro. When the old tool has an export or an API, the prompt writes every thread to one JSON file (kept out of git) and imports it with the import_conversations MCP tool. Each thread lands under the same customer, marked imported, and never triggers AI replies, push or emails. Running it again is safe: threads already imported are skipped.

Do my users have to sign in again?

Concierge

No. The agent keeps the user id your app already passes, so a returning user lands in the same Concierge customer on every device once identify carries a signed token.

Can I run both SDKs side by side?

Concierge

Yes, while you test. Ship Concierge in one build and keep the old dashboard open for users on older app versions until their threads close.

What about my saved replies and help center?

Concierge

Saved replies and articles become Concierge knowledge drafts, one per topic. A hosted help center can be added as a link source instead: Concierge reads it, drafts articles and checks the pages again every 7 days. Drafts never reach the AI until you publish them.

Is there a free trial to test the switch?

Concierge

No free plan and no trial. Before you pay you can do the whole switch, follow the install steps and send test messages from up to 3 of your own devices. Real users and AI replies start with Pro, one flat monthly price with 1,000 AI replies included: Founder price $19 a month, locked while you stay subscribed, for the first 50 subscribers. Then $49 a month.

What if my agent gets something wrong?

Concierge

The prompt asks the agent to list every call site first and show you the diff before it writes, and the dashboard (or the verify_install MCP tool) confirms the install afterwards. It is all a normal code change, so review it and revert with git like any other.

Every detail is in the migration guide.

alright, let's switch

Concierge

Create your app, copy the key, paste the prompt.

About half an hour, most of it your agent's. One flat monthly price.