Save integration
Authentication
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Path parameters
Response
200 - Integration saved (create or replace)
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
200 - Integration saved (create or replace)
Creates the Slack or Discord destination of a configuration or replaces its URL; never deletes, never sends a test message and never touches the channel flag. Both creating and replacing answer 200 with the resource - never 201, no Location header. Accepts PATCH only (not PUT). {integration_type} (path, default slack) is slack or discord.\n\nBody (JSON):\n- url (string, required, max 2048): a complete https://hooks.slack.com/... or https://discord.com/api/webhooks/... URL matching {integration_type}. Always required - an empty, missing or masked URL is invalid input, never a deletion command (use “Delete integration” for that).\n\nThe complete URL is returned on ordinary reads too (a conscious exception - see .docs/security.md); the MCP answers only a mask. Requires the organization’s channel permission for that type; without it the configuration itself answers 404. Body validation runs before authorization: a foreign configuration with an invalid or missing url answers 422; only a foreign configuration with a valid url answers 404. Never run this request against production with a real webhook URL - use a fictional one.