Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Интеграция с Salesforce CRM API с использованием управляемой OAuth-аутентификации. Позволяет выполнять запросы с помощью SOQL, управлять объектами (Contacts, Accounts, Leads, Opportunities) и выполнять пакетные операции. Используйте этот инструмент, когда необходимо работать с данными Salesforce. Для других сторонних сервисов рекомендуется использовать api-gateway.
Обзор
Данный инструмент предоставляет доступ к REST API Salesforce через безопасный шлюз с поддержкой OAuth. Вы можете выполнять запросы к данным, управлять сущностями и выполнять полный набор CRUD-операций (создание, чтение, обновление, удаление) в вашей системе Salesforce. :
Быстрый старт
# Получение списка контактов
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/salesforce/services/data/v59.0/query?q=SELECT+Id,Name,Email+FROM+Contact+LIMIT+10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Базовый URL
https://gateway.maton.ai/salesforce/{native-api-path}
Замените {native-api-path} на соответствующий путь конечной точки Salesforce REST API. Шлюз автоматически проксирует запросы к вашему экземпляру Salesforce и добавляет токен доступа.
Аутентификация
Все запросы требуют наличия API-ключа Maton в заголовке:
Authorization: Bearer $MATON_API_KEY
Установите переменную окружения:
export MATON_API_KEY="YOUR_API_KEY"
Как получить API-ключ:
- Зарегистрируйтесь или войдите на maton.ai
- Перейдите в настройки аккаунта
- Скопируйте ваш API-ключ
Управление подключениями
Для работы с OAuth-подключениями Salesforce используйте сервис управления подключениями:
https://ctrl.maton.ai
Список подключений
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=salesforce&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Создание подключения
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'salesforce'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Получение информации о подключении
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Пример ответа:
{
"connection": {
"connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "salesforce",
"metadata": {}
}
}
Откройте поле url в браузере, чтобы завершить OAuth-авторизацию.
Удаление подключения
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Выбор подключения
Если у вас несколько подключений Salesforce, можно указать нужное с помощью заголовка:
Maton-Connection:
Если заголовок не указан, будет использовано подключение по умолчанию (самое старое активное).
Файл из источника