Use Bink with ChatGPT
Create a Custom GPT that connects to your Bink page and manages everything via natural language — links, forms, analytics, bookings, messages.
Create a Custom GPT for Bink
Build a GPT that can manage your Bink page using the Bink REST API as Actions.
- 1
Get a Personal Access Token
Go to Settings → Developer → Create new token. Copy it — you'll need it for authentication. - 2
Create a new GPT
Go to ChatGPT → Explore GPTs → Create. Give it a name like "My Bink Manager" and add these instructions:
InstructionsYou are a Bink page manager. You help the user manage their Bink page (a link-in-bio platform). You can add, edit, delete, and reorder blocks (links, headers, social icons). You can view analytics, manage forms and form responses, handle inbox messages, and manage bookings. Always confirm destructive actions before executing them.
- 3
Add Actions
In the GPT editor, click "Create new action". Set Authentication to "API Key" with the header name "Authorization" and the value:
Bearer bink_your_token_here
Then paste the OpenAPI schema below into the schema field.
OpenAPI Schema{ "openapi": "3.1.0", "info": { "title": "Bink API", "version": "1.0.0", "description": "Manage your Bink page" }, "servers": [ { "url": "https://binatomy.link" } ], "paths": { "/api/blocks": { "get": { "operationId": "listBlocks", "summary": "List all blocks on the page", "responses": { "200": { "description": "Array of blocks" } } }, "post": { "operationId": "createBlock", "summary": "Create a new block", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "type": { "type": "string", "enum": ["link", "header", "social", "text", "image", "video", "divider"] }, "title": { "type": "string" }, "url": { "type": "string" }, "active": { "type": "boolean" } }, "required": ["type"] } } } }, "responses": { "200": { "description": "Created block" } } } }, "/api/blocks/{id}": { "put": { "operationId": "updateBlock", "summary": "Update a block", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "url": { "type": "string" }, "active": { "type": "boolean" } } } } } }, "responses": { "200": { "description": "Updated block" } } }, "delete": { "operationId": "deleteBlock", "summary": "Delete a block", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "200": { "description": "Deleted" } } } }, "/api/analytics": { "get": { "operationId": "getAnalytics", "summary": "Get page analytics (views, clicks, top blocks)", "responses": { "200": { "description": "Analytics data" } } } }, "/api/messages": { "get": { "operationId": "listMessages", "summary": "List inbox messages", "responses": { "200": { "description": "Array of messages" } } } }, "/api/bookings": { "get": { "operationId": "listBookings", "summary": "List bookings", "responses": { "200": { "description": "Array of bookings" } } } }, "/api/bookings/{id}": { "put": { "operationId": "updateBookingStatus", "summary": "Confirm or cancel a booking", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "enum": ["confirmed", "cancelled"] } } } } } }, "responses": { "200": { "description": "Updated booking" } } } }, "/api/page/settings": { "get": { "operationId": "getPageSettings", "summary": "Get page settings", "responses": { "200": { "description": "Page settings" } } }, "put": { "operationId": "updatePageSettings", "summary": "Update page title, description, SEO", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string" } } } } } }, "responses": { "200": { "description": "Updated settings" } } } }, "/api/forms": { "get": { "operationId": "listForms", "summary": "List all forms", "responses": { "200": { "description": "Array of forms" } } } }, "/api/forms/{id}/responses": { "get": { "operationId": "getFormResponses", "summary": "Get form responses", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "200": { "description": "Array of responses" } } } } } } - 4
Test and publish
Use the Preview panel to test commands like "List my blocks" or "Show my analytics". Once satisfied, publish for yourself or share it.
Available API endpoints
These are the main API endpoints your Custom GPT can call. All require a Bearer token in the Authorization header.
| Method | Path | Description |
|---|---|---|
| GET | /api/blocks | List all blocks |
| POST | /api/blocks | Create a new block |
| PUT | /api/blocks/{id} | Update a block |
| DELETE | /api/blocks/{id} | Delete a block |
| POST | /api/blocks/reorder | Reorder blocks |
| GET | /api/page/settings | Get page settings |
| PUT | /api/page/settings | Update page settings |
| GET | /api/page/theme | Get page theme |
| PUT | /api/page/theme | Update page theme |
| POST | /api/page/publish | Toggle page publish |
| GET | /api/forms | List forms |
| GET | /api/forms/{id} | Get form details |
| POST | /api/forms | Create a form |
| PUT | /api/forms/{id} | Update a form |
| GET | /api/forms/{id}/responses | Get form responses |
| GET | /api/messages | List messages |
| GET | /api/messages/{id} | Read a message |
| PUT | /api/messages/{id} | Toggle read status |
| DELETE | /api/messages/{id} | Delete a message |
| GET | /api/analytics | Get page analytics |
| GET | /api/bookings | List bookings |
| PUT | /api/bookings/{id} | Update booking status |
What to ask your GPT
Once your Custom GPT is set up, try these prompts.
Page management
"List all blocks on my page"
"Add a new link to my Instagram profile"
"Delete the header block"
"Change my page title to "My Links""
Analytics
"Show my page analytics"
"What are my most clicked links?"
Forms & messages
"Show form responses from my contact form"
"How many unread messages do I have?"
Bookings
"List all pending bookings"
"Confirm the booking for tomorrow"
Ready to build your GPT?
Create a Personal Access Token and start building your Custom GPT for Bink.