create_file_upload_url
ChatGPTcreate a pre-signed GCS upload url for a file. the returned url expires in 15 minutes. IMPORTANT: upload the file using curl: curl -X PUT -H 'Content-Type: <mimeType>' --data-binary @/path/to/file '<signedUrl>' args: fileName (str): name of the file (e.g. "image.png"). mimeType (str): mime type of the file (e.g. "image/png"). returns: dict: object containing signedUrl (PUT target) and publicUrl (final accessible url).
create_file_upload_url
ChatGPTcreate a pre-signed GCS upload url for a file. the returned url expires in 15 minutes. IMPORTANT: upload the file using curl: curl -X PUT -H 'Content-Type: <mimeType>' --data-binary @/path/to/file '<signedUrl>' args: fileName (str): name of the file (e.g. "image.png"). mimeType (str): mime type of the file (e.g. "image/png"). returns: dict: object containing signedUrl (PUT target) and publicUrl (final accessible url).
create_order
ChatGPTcreate a new order. args: title (str): order title. serviceId (str): id of the service for this order. brandId (str): id of the brand placing the order. description (str): optional order description. serviceCategoryId (str): optional service category id. attachments (list): optional list of attachment objects, each with name, url, and mimeType. returns: dict: created order object, or empty dict on failure.
create_order
ChatGPTcreate a new order. args: title (str): order title. serviceId (str): id of the service for this order. brandId (str): id of the brand placing the order. description (str): optional order description. serviceCategoryId (str): optional service category id. attachments (list): optional list of attachment objects, each with name, url, and mimeType. returns: dict: created order object, or empty dict on failure.
get_all_brands
ChatGPTfetch all brands for the agency. returns: list[dict]: all brand objects containing _id, name, brandUsers.
get_all_brands
ChatGPTfetch all brands for the agency. returns: list[dict]: all brand objects containing _id, name, brandUsers.
get_brand
ChatGPTfetch a single brand by id. args: brandId (str): object id of the brand. returns: dict: brand object containing _id, name, brandUsers.
get_brand
ChatGPTfetch a single brand by id. args: brandId (str): object id of the brand. returns: dict: brand object containing _id, name, brandUsers.
get_brand_users
ChatGPTfetch all users across brands for the agency. returns: list[dict]: user objects belonging to the agency's brands.
get_brand_users
ChatGPTfetch all users across brands for the agency. returns: list[dict]: user objects belonging to the agency's brands.
get_brands
ChatGPTfetch multiple brands by ids. args: brandIds (list[str]): list of brand object ids to fetch. returns: list[dict]: brand objects containing _id, name, brandUsers.
get_brands
ChatGPTfetch multiple brands by ids. args: brandIds (list[str]): list of brand object ids to fetch. returns: list[dict]: brand objects containing _id, name, brandUsers.
get_chat_messages
ChatGPTfetch messages in a channel. args: channelId (str): object id of the channel to fetch messages from. limit (int): max messages to return. defaults to 25. returns: list[dict]: message objects in the channel.
get_chat_messages
ChatGPTfetch messages in a channel. args: channelId (str): object id of the channel to fetch messages from. limit (int): max messages to return. defaults to 25. returns: list[dict]: message objects in the channel.
get_chats
ChatGPTfetch chats for the authenticated user. returns: list[dict]: chat objects belonging to the current user.
get_chats
ChatGPTfetch chats for the authenticated user. returns: list[dict]: chat objects belonging to the current user.
get_deliverable_sets
ChatGPTfetch deliverable sets, optionally filtered by ids. args: deliverableSetIds (list[str], optional): filter by specific deliverable set ids. returns: list[dict]: deliverable set objects, each containing: _id, title, status ("PENDING" | "APPROVED" | "REJECTED"), deliveries, isFinalDelivery, createdAt, updatedAt.
get_deliverable_sets
ChatGPTfetch deliverable sets, optionally filtered by ids. args: deliverableSetIds (list[str], optional): filter by specific deliverable set ids. returns: list[dict]: deliverable set objects, each containing: _id, title, status ("PENDING" | "APPROVED" | "REJECTED"), deliveries, isFinalDelivery, createdAt, updatedAt.
get_delivery
ChatGPTfetch a single delivery by id. args: deliveryId (str): object id of the delivery. returns: dict: delivery object, or empty dict if not found.
get_delivery
ChatGPTfetch a single delivery by id. args: deliveryId (str): object id of the delivery. returns: dict: delivery object, or empty dict if not found.
get_invoice
ChatGPTfetch a single invoice by id or invoice number. args: invoiceId (str, optional): the invoice's object id. invoiceNumber (str, optional): the human-readable invoice number. returns: dict: invoice object, or empty dict if not found.
get_invoice
ChatGPTfetch a single invoice by id or invoice number. args: invoiceId (str, optional): the invoice's object id. invoiceNumber (str, optional): the human-readable invoice number. returns: dict: invoice object, or empty dict if not found.
get_invoice_receipt
ChatGPTfetch the receipt for a paid invoice using its stripe payment id. args: stripePaymentId (str): stripe payment id from the invoice object. returns: dict: receipt object, or empty dict if not found.
get_invoice_receipt
ChatGPTfetch the receipt for a paid invoice using its stripe payment id. args: stripePaymentId (str): stripe payment id from the invoice object. returns: dict: receipt object, or empty dict if not found.
get_invoices
ChatGPTretrieve invoices with optional filters. args: invoiceIds: filter by specific invoice ids. paymentMode: "offline" or "online". status: "DRAFT", "SCHEDULED", "SENT", "PAID", "REFUND_INITIATED", "REFUND_PENDING", "REFUND_SUCCEEDED", or "REFUND_FAILED". brandId: filter by brand id. returns: list[dict]: invoice objects, each containing: _id, invoiceNumber, status, total, totalAfterDiscount, discount, discountType, brandId, paidAt, isOfflinePayment, invoiceItems, issueDate, lastSentDate, createdAt.
get_invoices
ChatGPTretrieve invoices with optional filters. args: invoiceIds: filter by specific invoice ids. paymentMode: "offline" or "online". status: "DRAFT", "SCHEDULED", "SENT", "PAID", "REFUND_INITIATED", "REFUND_PENDING", "REFUND_SUCCEEDED", or "REFUND_FAILED". brandId: filter by brand id. returns: list[dict]: invoice objects, each containing: _id, invoiceNumber, status, total, totalAfterDiscount, discount, discountType, brandId, paidAt, isOfflinePayment, invoiceItems, issueDate, lastSentDate, createdAt.
get_order
ChatGPTfetch a single order by id or order number. args: orderId (str, optional): the order's object id. orderNumber (str, optional): the human-readable order number. returns: dict: order object, or empty dict if not found.
get_order
ChatGPTfetch a single order by id or order number. args: orderId (str, optional): the order's object id. orderNumber (str, optional): the human-readable order number. returns: dict: order object, or empty dict if not found.
get_order_deliverables
ChatGPTlist all deliverables attached to an order. args: orderId (str): object id of the order. returns: list[dict]: deliverable objects, each containing: _id, name, serviceId, orderId, taskId, quantity, progress, status ("NOT_STARTED" | "ONGOING" | "APPROVED"), deliverableSets, isPaused, createdAt, updatedAt.
get_order_deliverables
ChatGPTlist all deliverables attached to an order. args: orderId (str): object id of the order. returns: list[dict]: deliverable objects, each containing: _id, name, serviceId, orderId, taskId, quantity, progress, status ("NOT_STARTED" | "ONGOING" | "APPROVED"), deliverableSets, isPaused, createdAt, updatedAt.
get_orders
ChatGPTretrieve orders with optional filters. args: brandId: filter by brand id. serviceId: filter by service id. stageId: filter by stage id. tagId: filter by tag id. closed: true → closed orders only. false → open orders only. none → all. limit: max orders to return. defaults to 10. returns: list of order dicts, each containing: _id, title, orderNumber, brandIds, channelId, stageId, tagIds, serviceId, creatorId, lastActivityCreatorRole, lastActivityTime, invoices, closed, createdAt.
get_orders
ChatGPTretrieve orders with optional filters. args: brandId: filter by brand id. serviceId: filter by service id. stageId: filter by stage id. tagId: filter by tag id. closed: true → closed orders only. false → open orders only. none → all. limit: max orders to return. defaults to 10. returns: list of order dicts, each containing: _id, title, orderNumber, brandIds, channelId, stageId, tagIds, serviceId, creatorId, lastActivityCreatorRole, lastActivityTime, invoices, closed, createdAt.
get_roles
ChatGPTfetch all roles available for brand assignment. returns: list[dict]: role objects containing _id, name, and permissions.
get_roles
ChatGPTfetch all roles available for brand assignment. returns: list[dict]: role objects containing _id, name, and permissions.
get_services
ChatGPTfetch all services for the agency. returns: list[dict]: service objects.
get_services
ChatGPTfetch all services for the agency. returns: list[dict]: service objects.
get_user_brand_roles
ChatGPTfetch all brands a user belongs to along with their assigned roles in each brand. args: userId (str): object id of the user. returns: list[dict]: each item contains brandId, brandName, and roles (list of roleId + roleName).
get_user_brand_roles
ChatGPTfetch all brands a user belongs to along with their assigned roles in each brand. args: userId (str): object id of the user. returns: list[dict]: each item contains brandId, brandName, and roles (list of roleId + roleName).
invite_user
ChatGPTinvite a new user and assign them to one or more brands with roles. args: name (str): full name of the user to invite. email (str): email address of the user to invite. brands (list): list of brand assignments, each containing: brandId (str): id of the brand. roleId (str): id of the role to assign. returns: dict: created user object, or empty dict on failure.
invite_user
ChatGPTinvite a new user and assign them to one or more brands with roles. args: name (str): full name of the user to invite. email (str): email address of the user to invite. brands (list): list of brand assignments, each containing: brandId (str): id of the brand. roleId (str): id of the role to assign. returns: dict: created user object, or empty dict on failure.
request_call
ChatGPTrequest a 30-minute call with the agency. args: message (str): context or notes to help prepare for the meeting. returns: dict: confirmation object, or empty dict on failure.
request_call
ChatGPTrequest a 30-minute call with the agency. args: message (str): context or notes to help prepare for the meeting. returns: dict: confirmation object, or empty dict on failure.
send_message_in_chat
ChatGPTsend a standard message in a chat channel. args: channelId (str): channel id of the chat (available on the chat object). body (str): message body text. returns: dict: created message object, or empty dict on failure.
send_message_in_chat
ChatGPTsend a standard message in a chat channel. args: channelId (str): channel id of the chat (available on the chat object). body (str): message body text. returns: dict: created message object, or empty dict on failure.
send_message_in_order
ChatGPTsend a standard message in an order's channel. args: channelId (str): channel id of the order (available on the order object). body (str): message body text. returns: dict: created message object, or empty dict on failure.
send_message_in_order
ChatGPTsend a standard message in an order's channel. args: channelId (str): channel id of the order (available on the order object). body (str): message body text. returns: dict: created message object, or empty dict on failure.
update_order_brand
ChatGPTupdate the brand assigned to an order. args: orderId (str): id of the order to update. brandId (str): id of the brand to assign. returns: dict: updated order object, or empty dict on failure.
update_order_brand
ChatGPTupdate the brand assigned to an order. args: orderId (str): id of the order to update. brandId (str): id of the brand to assign. returns: dict: updated order object, or empty dict on failure.
update_order_priority
ChatGPTupdate the priority of an order. args: orderId (str): id of the order to update. priority (str): priority level — REGULAR, HIGH, or URGENT. reason (str): reason for the priority change. returns: dict: updated order object, or empty dict on failure.
update_order_priority
ChatGPTupdate the priority of an order. args: orderId (str): id of the order to update. priority (str): priority level — REGULAR, HIGH, or URGENT. reason (str): reason for the priority change. returns: dict: updated order object, or empty dict on failure.