helpdesk
Podium
Connect Podium to Elaichi and hand every teammate a governed MCP endpoint — 85 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Podium tools for your AI agents
85 tools are ready to mint as an MCP endpoint the moment you connect Podium — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
list_all_podium_users
List all users in Podium. Returns archived, createdAt, email, firstName, lastName, locations, phone, role, uid, and updatedAt fields for each user. Only users belonging to accessible locations are returned.
get_single_podium_user_by_id
Get a user in Podium. Requires id. Returns archived status, createdAt, email, firstName, lastName, assigned locations, phone, role, uid, and updatedAt fields in the response.
get_single_podium_organization_by_id
Get an organization in Podium by id. Returns archived, businessName, createdAt, uid, and updatedAt fields in the response.
list_all_podium_locations
List all locations in Podium. Returns addressDetails (city, country, state, postalCode), archive status, createdAt, displayName, name, organizationUid, phoneNumber, podiumPhoneNumber, uid, updatedAt for each location.
get_single_podium_location_by_id
Get a specific location in Podium using id. Returns fields such as uid, displayName, addressDetails, phoneNumber, podiumPhoneNumber, organizationUid, archived, archivedAt, createdAt, and updatedAt in the response.
update_a_podium_location_by_id
Update a location in Podium. Requires id. Returns addressDetails, displayName, name, phoneNumber, podiumPhoneNumber, archived, createdAt, updatedAt, archivedAt, organizationUid, and uid. Address must follow ISO convention.
create_a_podium_appointment
Create an appointment in Podium. Requires contactName, contactPhoneNumber, datetime, and locationUid. Returns fields such as uid (appointment identifier), assignedUser, status, type, note, and createdAt in the response.
list_all_podium_campaigns
List all automated campaigns in Podium. Returns createdAt, updatedAt, endedAt, startedAt, name, message, status, uid, organization, and locations for each campaign. Campaigns are sorted by updatedAt in descending order.
get_single_podium_campaign_by_id
Get a specific campaign in Podium by id. Returns fields including uid, name, status, createdAt, updatedAt, startedAt, endedAt, message, organization, and locations.
create_a_podium_campaign
Create a campaign in Podium. Requires locations, name, and status. Returns uid (campaign identifier), createdAt, startedAt, endedAt, updatedAt (timestamps), status, message, name, organization, and locations for the created campaign.
update_a_podium_campaign_by_id
Update a campaign in Podium. Requires id. Returns campaign fields including uid, name, status, message, locations, organization, createdAt, updatedAt, startedAt, and endedAt.
delete_a_podium_campaign_by_id
Delete a campaign in Podium. Requires id. Returns fields including uid, name, status, organization, message, locations, createdAt, updatedAt, startedAt, endedAt. The response contains all campaign fields.
list_all_podium_contact_attributes
List contact attributes in Podium tied to the ownerResource on the token. Returns uid, label, dataType, isEncrypted, createdAt, updatedAt, and ownerResource for each attribute.
get_single_podium_contact_attribute_by_id
Get a contact attribute in Podium by id. Returns fields: uid (Podium unique identifier), label (attribute label), dataType (attribute value type), isEncrypted (encryption status), ownerResource (resource owner info), createdAt, and updatedAt.
create_a_podium_contact_attribute
Create a contact attribute in Podium. Requires dataType, label, and ownerResourceType. Returns uid, label, dataType, isEncrypted, ownerResource, createdAt, and updatedAt fields in the response.
update_a_podium_contact_attribute_by_id
Update a contact attribute in Podium using id. Returns createdAt, dataType, isEncrypted, label, ownerResource, uid, and updatedAt fields in the response. Requires id.
delete_a_podium_contact_attribute_by_id
Delete a contact attribute in Podium by id. Returns uid, label, dataType, isEncrypted, ownerResource, createdAt, and updatedAt fields in the response.
list_all_podium_contact_tags
List all contact-tags in Podium. Returns uid, label, description, createdAt, updatedAt, and organization for each tag.
get_single_podium_contact_tag_by_id
Get a contact tag in Podium for an organization using id. Returns uid, label, description, organization.uid, createdAt, and updatedAt fields in the response.
create_a_podium_contact_tag
Create a contact tag in Podium. Requires label and description. Returns uid (tag identifier), label, description, organization reference, createdAt, and updatedAt for the tag in the response.
update_a_podium_contact_tag_by_id
Update a contact tag in Podium. Requires id. Returns uid, label, description, createdAt, updatedAt, and organization fields in the response.
list_all_podium_contacts
List all contacts in Podium. Returns each contact's uid, name, address, channels, emails, phoneNumbers, tags, attributes, conversations, locations, organization, createdAt, and updatedAt fields in the response.
create_a_podium_contact
Create a contact. If a contact with the same phone number, email, or conversation uid is found it will update the contact. Requires locations and name. Returns the identifier of the created contact in the response.
get_single_podium_contact_by_id
Get a contact in Podium using id, which can be a conversation uid, an email address, or a phone number. Returns fields such as uid, name, address, emails, phoneNumbers, channels, attributes, tags, conversations, locations, organization, createdAt, and updatedAt in the response.
update_a_podium_contact_by_id
Update a contact in Podium using id (conversation uid, email, or phone number). Returns identifier of the updated contact in the response.
delete_a_podium_contact_by_id
Delete a contact in Podium using id (conversation uid, email, or phone number). Returns identifier field to confirm deletion.
podium_contacts_opt_out
Opt out a contact from receiving campaign messages in Podium. Requires the channel.identifier and channel.type parameters. Returns contact fields such as uid, name, channels, phoneNumbers, emails, attributes, tags, address, conversations, createdAt, updatedAt, organization, and locations. Application must be whitelisted.
podium_contacts_remove_attribute
Remove an attribute from a contact in Podium. Requires contact_id and uid. Returns identifier of the contact whose attribute was removed.
podium_contacts_update_contact_attribute
Update a contact attribute in Podium using contact_id and uid. Returns identifier indicating the contact whose attribute was updated.
podium_contacts_add_attribute
Add an existing attribute to a contact in Podium. Requires contact_id and uid. Returns identifier to retrieve the contact in the response.
podium_contacts_remove_tag
Remove an existing tag from an existing contact in Podium. Requires contact_id and uid. Returns identifier field representing the contact's identifier in the response.
podium_contacts_add_tag
Add an existing tag to an existing contact in Podium. Requires contact_id and uid. Returns identifier indicating the contact the tag was added to.
list_all_podium_conversations
List all conversations in Podium. Returns assignedUserUid, channel (identifier and type), closed status, contactName, createdAt, lastItemAt, locationUid, uid, and updatedAt for each conversation. If cursor is used, other parameters are ignored.
get_single_podium_conversation_by_id
Get a conversation in Podium by id. Returns assignedUserUid, channel details, closed status, contactName, createdAt, lastItemAt, locationUid, uid, and updatedAt fields in the response.
update_a_podium_conversation_by_id
Update a conversation in Podium using id. Returns assignedUserUid, channel, closed, contactName, createdAt, lastItemAt, locationUid, uid, and updatedAt fields in the response. id is required.
podium_conversations_writeback_lead
Writeback lead to the connected CRM in Podium. Requires conversation_id. Returns conversation (with uid) in the response. No other identifiers are assigned by Podium.
podium_conversations_create_note
Create a note for a specific conversation in Podium. Requires conversation_id. Returns uid of the note, body, senderName, createdAt, updatedAt, and related organization, location, conversation objects.
list_all_podium_conversation_assignees
Get conversation assignees in Podium. Requires conversation_id. Returns assignedUserUid, assigneeType, assigneeUid, and assignees (list of assignee user uids) in the response.
update_a_podium_conversation_assignee_by_id
Update conversation-assignees in Podium for a specific conversation using conversation_id. Returns assignedUserUid, assigneeType, assigneeUid, and assignees for the updated conversation.
delete_a_podium_scim_user_by_id
Delete a SCIM user resource in Podium. Requires id (provided as email). A successful response returns no content.
update_a_podium_scim_user_by_id
Update a SCIM user resource in Podium to be deactivated. Requires id as the user's email. Returns no content in the response.
list_all_podium_conversation_leads
Get a conversation lead ID in Podium. Requires location_uid, organization_uid, and conversation_id. Returns leadId and conversation.uid associated with the conversation.
list_all_podium_webhooks
List webhooks tied to the authorized user in Podium. Returns uid (webhook unique identifier), eventTypes (events webhook listens to), url (webhook target URL), disabled (status), and createdAt, updatedAt timestamps.
get_single_podium_webhook_by_id
Get a webhook in Podium. Requires id. Returns createdAt, disabled, eventTypes, locationUid, organizationUid, secret, uid, updatedAt, url fields in the response.
create_a_podium_webhook
Create a webhook in Podium. Requires eventTypes and url. One of locationUid or organizationUid is required (if both provided, organizationUid is used). Returns uid, eventTypes, url, createdAt, updatedAt, disabled, locationUid, organizationUid, and secret.
update_a_podium_webhook_by_id
Update a webhook in Podium by id. locationUid and organizationUid cannot be updated. Returns uid, url, eventTypes, disabled, secret, createdAt, updatedAt, locationUid, and organizationUid fields in the response.
delete_a_podium_webhook_by_id
Delete a webhook in Podium. Requires id. Returns uid, url, eventTypes, disabled, secret, createdAt, updatedAt, organizationUid, and locationUid fields for the deleted webhook in the response.
list_all_podium_feedback_surveys
List all feedback surveys in Podium. Surveys are sorted by createdAt descending. Returns fields such as uid, createdAt, updatedAt, score, adjustedScore, customerName, location, attributions, channel, currentStep, and messages in the response.
list_all_podium_conversation_messages
Retrieve messages from a conversation in Podium. Requires conversation_id. Returns fields such as uid, body, createdAt, contactName, senderUid, items with attachments and metadata like deliveryStatus.
get_single_podium_conversation_message_by_id
Retrieve a specific message in Podium using conversation_id and id. Returns message details including body, createdAt, senderUid, items, location, and status fields.
create_a_podium_conversation_message
Send a message with an attachment in Podium. Returns message fields including uid, body, items (attachments), createdAt, senderUid, and conversation. Supported attachment file types include images (.png, .jpg, .gif), videos (.mp4, .mov, .avi), documents (.pdf, .csv, .docx), and audio files (.mpeg, .wav, .ogg). Maximum file size is 30 MB. The rate limit is 10 requests per minute. Requires valid body, channel, and locationUid parameters in the request.
podium_conversation_messages_import
Import a message into a conversation in Podium. Requires body, channel, contactName, direction, locationUid, and publishedAt. Returns message fields such as uid, body, items, createdAt, and senderUid in the response. This does not send a message, just imports it into a conversation.
podium_conversation_messages_send
Send a message in Podium. Requires body, channel, and locationUid. Returns fields including uid (message id), body (message text), createdAt (message creation timestamp), items (associated attachments), and failureReason (if sending failed). A message can only be sent on behalf of a user if they have the necessary permissions to send messages in conversations assigned to them, conversations assigned to others, and unassigned conversations.
list_all_podium_templates
List all templates in Podium. Returns fields such as uid, title, subject, type, accessLevel, createdAt, updatedAt, and templateItems for each template in the response. Requires read_templates scope.
create_a_podium_template
Create a message template in Podium. Returns template fields including uid, title, text, accessLevel, subject, type, createdAt, updatedAt, and organization, location, or user references. Required parameters: text, title, type, accessLevel.
delete_a_podium_template_by_id
Delete a template in Podium. Requires id. Returns the deleted template's details, including uid, title, text, subject, accessLevel, organization, location, user, templateItems, createdAt, updatedAt, deletedAt, isFavorite, nonDeletable, type, and variables.
update_a_podium_template_by_id
Update a message template in Podium. Requires id. Returns accessLevel, attachmentUrl, createdAt, deletedAt, isFavorite, lastUsedAt, location, nonDeletable, organization, subject, templateItems, text, title, type, uid, updatedAt, user, variables.
list_all_podium_products
List all products in Podium. Returns uid, name, description, price, images, xid, archivedAt, insertedAt, and updatedAt for each product. Requires read_products scope.
get_single_podium_product_by_id
Get a product in Podium using id. Returns name, description, price, images list (with uid, url, isPrimary), archivedAt, insertedAt, updatedAt, xid, and product uid fields in the response. Requires id.
podium_products_delete_images
Delete images from a specific product in Podium. Requires id of the product, and the request must include locationUid and uids. Returns for each image: isPrimary, productUid, uid, and url.
podium_products_upload_images
Upload images to a specific product in Podium using product_id, images, and locationUid. Returns identifier for the created async product task and resource URL in the response.
list_all_podium_invoices
List all invoices in Podium. Returns fields such as uid, amount, status, createdAt, paidAt, lineItems, allowedPaymentMethods, customerName, payments, and location for each invoice.
get_single_podium_invoice_by_id
Get an invoice in Podium. Requires id and location_id. Returns allowedPaymentMethods, amount, canceledAt, channel, conversationUid, createdAt, currencyRef, customerName, invoiceNumber, lineItems, location, payments, status, tipAmount, and uid in the response.
create_a_podium_invoice
Create an invoice in Podium. Providing the readerUid property creates a card_present invoice; if omitted, a card_not_present invoice is created. Requires channelIdentifier, customerName, invoiceNumber, lineItems, and locationUid. Returns allowedPaymentMethods, amount, channel, createdAt, currencyRef, customerName, invoiceNumber, invoiceServiceChargeItems, lineItems, location, paidAt, payments, readerUid, requester, status, tipAmount, uid, and key payment and refund details.
podium_invoices_cancel
Cancel an invoice in Podium. Requires invoice_id. Returns invoice fields such as allowedPaymentMethods, amount, canceledAt, canceledNote, channel, createdAt, customerName, status, uid, and more.
podium_invoices_refund
Refund an invoice in Podium. Requires invoice_id. Returns invoice fields such as uid, amount, status, payments, refunds, and more in the response. The invoice must currently have a status of paid. If an invoice has a status of created, it cannot be refunded, but can be canceled. An invoice can have multiple refunds. The total refunded amount cannot exceed the invoice's amount.
get_single_podium_payment_by_id
Get a payment in Podium by id. Returns bankAccountLast4, cardBrand, createdAt, fee, refunds, settledAt, status, uid, and other payment details. Requires id.
get_single_podium_reader_by_id
Get a specific card reader in Podium by id. Returns uid, label, locationUid, status, createdAt, and updatedAt fields in the response. Requires id.
get_single_podium_refund_by_id
Get refund in Podium using id and location_id. Returns amount, cardBrand, cardLast4, createdAt, location.uid, notes, reason, settledAt, status, and uid in the response.
create_a_podium_refund
Create a refund in Podium. Requires amount, channelIdentifier, customerName, locationUid, readerUid, and reason. Returns uid, amount, status, cardBrand, cardLast4, reason, createdAt, settledAt, location, and notes. Only works with Podium Payment Card Reader. Action creates an Unlinked Refund and requires sufficient account balance; operation may fail if balance is insufficient.
list_all_podium_reviews
List all reviews in Podium. Returns attributions, author, createdAt, isRecommendation, locations, needsResponse, responses, review details, uid, and updatedAt fields for each review.
get_single_podium_review_by_id
Get a review in Podium by id. Returns uid, author, review body, rating, siteName, attributions, createdAt, locations, responses, isRecommendation, needsResponse, and updatedAt fields.
list_all_podium_review_invites
List all review invites in Podium. Returns attributions, channel, conversationItemUid, createdAt, customerName, deliveryStatus, languages, linkClicked, linkClickedAt, location, sender, shortUrl, test, uid, updatedAt, and url fields in the response.
get_single_podium_review_invite_by_id
Get a review invite in Podium by id. Returns uid, createdAt, deliveryStatus, channel, customerName, linkClicked, attributions, location, sender, shortUrl, url, and updatedAt fields in the response. Requires id.
create_a_podium_review_invite
Create a review invite link in Podium. Returns uid, shortUrl, url, customerName, channel, deliveryStatus, createdAt, and other invite details. Do not send the same review invitation link to multiple contacts. Doing so can interfere with reporting in Podium, and may cause the invitation link to stop working. Generate a new review invitation link every time you send one to a contact.
list_all_podium_sites_summary
Get summary of reviews for connected sites in Podium. Returns siteName, averageRating, and reviewCount for each site. For locationUids, add each as locationUids[] in URL. Returns these fields in the response.
list_all_podium_review_summary
Get a summary of reviews for each location in Podium. Returns averageRating, locationUid, and reviewCount fields for each location. Requires access to all visible locations.
list_all_podium_review_responses
List responses of a specific review in Podium. Requires review_id. Returns body, isDeleted, likeCount, publishDate, siteAuthorName, source, and uid fields for each response.
create_a_podium_review_response
Create a response for a given review in Podium. Requires review_id. Returns body, isDeleted, likeCount, publishDate, siteAuthorName, source, and uid fields for the created review response.
update_a_podium_review_response_by_id
Update a review response in Podium. Requires review_id and id. Returns body, isDeleted, likeCount, publishDate, siteAuthorName, source, and uid fields in the response.
create_a_podium_review_attribution
Attribute a user to a review in Podium. Requires review_id, locationUid, and userUid. Returns createdAt, updatedAt, isDeleted, siteReviewId, uid, user, editedByUser, and reviewInvite fields in the response.
delete_a_podium_review_attribution_by_id
Remove a user attribution from a review by id in Podium. Requires userUid. Returns createdAt, editedByUser, isDeleted, reviewInvite, siteReviewId, uid, updatedAt, and user fields in the response.
list_all_podium_campaign_interactions
List campaign interactions in Podium. Returns uid, interactionType, createdAt, updatedAt, and resource references (campaign, contact, conversation, location) for each interaction. If cursor is used, all other parameters are ignored.
create_a_podium_campaign_message
Create a message for a specific campaign in Podium. Requires id and channelIdentifier. Returns message fields such as uid, body, items, createdAt, failureReason, location, and senderUid.
create_a_podium_data_feed_event
Process an event through a data feed in Podium. Requires data_feed_id. Returns dataFeedUid and uid for each processed data feed event in the response.
How it works
From Podium account to governed MCP endpoint
Connect
Link a Podium account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Podium tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.